如何限制要推送到数组的值的数量-JqueryJs

时间:2015-06-29 01:38:27

标签: jquery arrays

我有一个json对象如下。我有一个名为category的数组,我正试图将一些值推入其中。 这是Js:

var data={
    products : [
        { type: 'fos', name: 'retek' },
        { type: 'testta', name: 'item' },
        { type: 'nyedva', name: 'blabla' }
    ]
};
var categories = [];

现在我想将所有值都推送到categories数组中,除了一个: 这是我试过的:

$.each(data.products, function(index, mon) {
    if (mon.type == 'testta') {
        //dont push the array
    } else {
        //push it to array
    }
});

但是这项工作......如何实现这一点的想法? 谢谢!

3 个答案:

答案 0 :(得分:1)

你试过这个:

$.each(data.products, function(index, mon){
    if(mon.type !== 'testta'){
        categories.push(mon)
    }
});

答案 1 :(得分:1)

我不确定为什么这样做不会起作用,但通常这是你可以使用jQuery.grep()的工作:

var categories = $.grep(data.products, function(mon) {
    return mon.type != 'testta';
});

答案 2 :(得分:0)

试试这个

$.each(data.products, function(index, mon) {   
    if (mon.type !== 'testta') {
        categories.push(mon)
    }
});
console.log(categories);