如何按类别获取数组元素?

时间:2016-10-18 04:40:40

标签: angularjs json filter

我有一系列多种产品

var productList = [
    {
        id: '1',
        category: 'todos',
        menuName: 'Empanada de Carne, Pollo o Mixta + Café 8oz.',
        menuPrice: '9.99',
        description: 'Panceta de cerdo sancochada y luego frita, acompañada de guarnición de mote y habas sancochadas (puspu), papas nativas doradas con cascara y sal de Maras, sarsa de cebolla con hierba buena; típicas guarniciones que acompañan el chicharrón y la infaltable uchucuta a base de rocoto y huacatay.',
        smallImage: 'product-1-191x191.jpg',
        bigImage: 'product-1-382x382.jpg'
    },
    {
        id: '2',
        category: 'comids',
        menuName: 'Empanada de Carne, Pollo o Mixta + Café 8oz.',
        menuPrice: '9.99',
        description: 'Panceta de cerdo sancochada y luego frita, acompañada de guarnición de mote y habas sancochadas (puspu), papas nativas doradas con cascara y sal de Maras, sarsa de cebolla con hierba buena; típicas guarniciones que acompañan el chicharrón y la infaltable uchucuta a base de rocoto y huacatay.',
        smallImage: 'product-2-191x191.jpg',
        bigImage: 'product-2-382x382.jpg'
    },
    {
        id: '3',
        category: 'alcoholicas',
        menuName: 'Empanada de Carne, Pollo o Mixta + Café 8oz.',
        menuPrice: '9.99',
        description: 'Panceta de cerdo sancochada y luego frita, acompañada de guarnición de mote y habas sancochadas (puspu), papas nativas doradas con cascara y sal de Maras, sarsa de cebolla con hierba buena; típicas guarniciones que acompañan el chicharrón y la infaltable uchucuta a base de rocoto y huacatay.',
        smallImage: 'product-1-191x191.jpg',
        bigImage: 'product-1-382x382.jpg'
    },
    {
        id: '4',
        category: 'no-alcoholicas',
        menuName: 'Empanada de Carne, Pollo o Mixta + Café 8oz.',
        menuPrice: '9.99',
        description: 'Panceta de cerdo sancochada y luego frita, acompañada de guarnición de mote y habas sancochadas (puspu), papas nativas doradas con cascara y sal de Maras, sarsa de cebolla con hierba buena; típicas guarniciones que acompañan el chicharrón y la infaltable uchucuta a base de rocoto y huacatay.',
        smallImage: 'product-2-191x191.jpg',
        bigImage: 'product-2-382x382.jpg'
    },
    {
        id: '5',
        category: 'golosinas',
        menuName: 'Empanada de Carne, Pollo o Mixta + Café 8oz.',
        menuPrice: '9.99',
        description: 'Panceta de cerdo sancochada y luego frita, acompañada de guarnición de mote y habas sancochadas (puspu), papas nativas doradas con cascara y sal de Maras, sarsa de cebolla con hierba buena; típicas guarniciones que acompañan el chicharrón y la infaltable uchucuta a base de rocoto y huacatay.',
        smallImage: 'product-1-191x191.jpg',
        bigImage: 'product-1-382x382.jpg'
    },
    {
        id: '6',
        category: 'snacks',
        menuName: 'Empanada de Carne, Pollo o Mixta + Café 8oz.',
        menuPrice: '9.99',
        description: 'Panceta de cerdo sancochada y luego frita, acompañada de guarnición de mote y habas sancochadas (puspu), papas nativas doradas con cascara y sal de Maras, sarsa de cebolla con hierba buena; típicas guarniciones que acompañan el chicharrón y la infaltable uchucuta a base de rocoto y huacatay.',
        smallImage: 'product-2-191x191.jpg',
        bigImage: 'product-2-382x382.jpg'
    },
    {
        id: '7',
        category: 'cigarros',
        menuName: 'Empanada de Carne, Pollo o Mixta + Café 8oz.',
        menuPrice: '9.99',
        description: 'Panceta de cerdo sancochada y luego frita, acompañada de guarnición de mote y habas sancochadas (puspu), papas nativas doradas con cascara y sal de Maras, sarsa de cebolla con hierba buena; típicas guarniciones que acompañan el chicharrón y la infaltable uchucuta a base de rocoto y huacatay.',
        smallImage: 'product-1-191x191.jpg',
        bigImage: 'product-1-382x382.jpg'
    },
    {
        id: '8',
        category: 'lacteos-y-embutidos',
        menuName: 'Empanada de Carne, Pollo o Mixta + Café 8oz.',
        menuPrice: '9.99',
        description: 'Panceta de cerdo sancochada y luego frita, acompañada de guarnición de mote y habas sancochadas (puspu), papas nativas doradas con cascara y sal de Maras, sarsa de cebolla con hierba buena; típicas guarniciones que acompañan el chicharrón y la infaltable uchucuta a base de rocoto y huacatay.',
        smallImage: 'product-2-191x191.jpg',
        bigImage: 'product-2-382x382.jpg'
    },
    {
        id: '9',
        category: 'todos',
        menuName: 'Empanada de Carne, Pollo o Mixta + Café 8oz.',
        menuPrice: '9.99',
        description: 'Panceta de cerdo sancochada y luego frita, acompañada de guarnición de mote y habas sancochadas (puspu), papas nativas doradas con cascara y sal de Maras, sarsa de cebolla con hierba buena; típicas guarniciones que acompañan el chicharrón y la infaltable uchucuta a base de rocoto y huacatay.',
        smallImage: 'product-2-191x191.jpg',
        bigImage: 'product-2-382x382.jpg'
    }
];

请检查有两种产品属于 todos 。那么有人可以告诉我如何通过angularjs获得这两个相同类别的产品

提前致谢

3 个答案:

答案 0 :(得分:2)

试试这个:



var productList = [
    {
        id: '1',
        category: 'todos',
        menuName: 'Empanada de Carne, Pollo o Mixta + Café 8oz.',
        menuPrice: '9.99',
        description: 'Panceta de cerdo sancochada y luego frita, acompañada de guarnición de mote y habas sancochadas (puspu), papas nativas doradas con cascara y sal de Maras, sarsa de cebolla con hierba buena; típicas guarniciones que acompañan el chicharrón y la infaltable uchucuta a base de rocoto y huacatay.',
        smallImage: 'product-1-191x191.jpg',
        bigImage: 'product-1-382x382.jpg'
    },
    {
        id: '2',
        category: 'comids',
        menuName: 'Empanada de Carne, Pollo o Mixta + Café 8oz.',
        menuPrice: '9.99',
        description: 'Panceta de cerdo sancochada y luego frita, acompañada de guarnición de mote y habas sancochadas (puspu), papas nativas doradas con cascara y sal de Maras, sarsa de cebolla con hierba buena; típicas guarniciones que acompañan el chicharrón y la infaltable uchucuta a base de rocoto y huacatay.',
        smallImage: 'product-2-191x191.jpg',
        bigImage: 'product-2-382x382.jpg'
    },
    {
        id: '3',
        category: 'alcoholicas',
        menuName: 'Empanada de Carne, Pollo o Mixta + Café 8oz.',
        menuPrice: '9.99',
        description: 'Panceta de cerdo sancochada y luego frita, acompañada de guarnición de mote y habas sancochadas (puspu), papas nativas doradas con cascara y sal de Maras, sarsa de cebolla con hierba buena; típicas guarniciones que acompañan el chicharrón y la infaltable uchucuta a base de rocoto y huacatay.',
        smallImage: 'product-1-191x191.jpg',
        bigImage: 'product-1-382x382.jpg'
    },
    {
        id: '4',
        category: 'no-alcoholicas',
        menuName: 'Empanada de Carne, Pollo o Mixta + Café 8oz.',
        menuPrice: '9.99',
        description: 'Panceta de cerdo sancochada y luego frita, acompañada de guarnición de mote y habas sancochadas (puspu), papas nativas doradas con cascara y sal de Maras, sarsa de cebolla con hierba buena; típicas guarniciones que acompañan el chicharrón y la infaltable uchucuta a base de rocoto y huacatay.',
        smallImage: 'product-2-191x191.jpg',
        bigImage: 'product-2-382x382.jpg'
    },
    {
        id: '5',
        category: 'golosinas',
        menuName: 'Empanada de Carne, Pollo o Mixta + Café 8oz.',
        menuPrice: '9.99',
        description: 'Panceta de cerdo sancochada y luego frita, acompañada de guarnición de mote y habas sancochadas (puspu), papas nativas doradas con cascara y sal de Maras, sarsa de cebolla con hierba buena; típicas guarniciones que acompañan el chicharrón y la infaltable uchucuta a base de rocoto y huacatay.',
        smallImage: 'product-1-191x191.jpg',
        bigImage: 'product-1-382x382.jpg'
    },
    {
        id: '6',
        category: 'snacks',
        menuName: 'Empanada de Carne, Pollo o Mixta + Café 8oz.',
        menuPrice: '9.99',
        description: 'Panceta de cerdo sancochada y luego frita, acompañada de guarnición de mote y habas sancochadas (puspu), papas nativas doradas con cascara y sal de Maras, sarsa de cebolla con hierba buena; típicas guarniciones que acompañan el chicharrón y la infaltable uchucuta a base de rocoto y huacatay.',
        smallImage: 'product-2-191x191.jpg',
        bigImage: 'product-2-382x382.jpg'
    },
    {
        id: '7',
        category: 'cigarros',
        menuName: 'Empanada de Carne, Pollo o Mixta + Café 8oz.',
        menuPrice: '9.99',
        description: 'Panceta de cerdo sancochada y luego frita, acompañada de guarnición de mote y habas sancochadas (puspu), papas nativas doradas con cascara y sal de Maras, sarsa de cebolla con hierba buena; típicas guarniciones que acompañan el chicharrón y la infaltable uchucuta a base de rocoto y huacatay.',
        smallImage: 'product-1-191x191.jpg',
        bigImage: 'product-1-382x382.jpg'
    },
    {
        id: '8',
        category: 'lacteos-y-embutidos',
        menuName: 'Empanada de Carne, Pollo o Mixta + Café 8oz.',
        menuPrice: '9.99',
        description: 'Panceta de cerdo sancochada y luego frita, acompañada de guarnición de mote y habas sancochadas (puspu), papas nativas doradas con cascara y sal de Maras, sarsa de cebolla con hierba buena; típicas guarniciones que acompañan el chicharrón y la infaltable uchucuta a base de rocoto y huacatay.',
        smallImage: 'product-2-191x191.jpg',
        bigImage: 'product-2-382x382.jpg'
    },
    {
        id: '9',
        category: 'todos',
        menuName: 'Empanada de Carne, Pollo o Mixta + Café 8oz.',
        menuPrice: '9.99',
        description: 'Panceta de cerdo sancochada y luego frita, acompañada de guarnición de mote y habas sancochadas (puspu), papas nativas doradas con cascara y sal de Maras, sarsa de cebolla con hierba buena; típicas guarniciones que acompañan el chicharrón y la infaltable uchucuta a base de rocoto y huacatay.',
        smallImage: 'product-2-191x191.jpg',
        bigImage: 'product-2-382x382.jpg'
    }
];
var temp = [];
angular.forEach(productList, function(element) {
if (element.category === 'todos') {
                     
                      temp.push(element)
                    }
  
});
console.log(temp);

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.2/angular.min.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

这是简单的可以使用javascript只使用for循环这样尝试此代码

var duplicate = [];
for(var i = 0 ; i < this.productList.length ; i++){
  if(this.productList[i].category === 'todos'){
    this.duplicate.push(this.productList[i]);   //push only object having category naed todos
  }
}

答案 2 :(得分:1)

简单的解决方案: -

使用类别为todos

的过滤器
var todosList = $filter('filter')(productList, function (p) {
    return p.category === 'todos';
});