首页 > 如何删除掉数组中的某一项?

如何删除掉数组中的某一项?

数组的结构是这样的:
[ {"title": 123, "num": 1, "type":[{"name":A,"num": 1},{"name":B,"num": 1},{"name":C,"num": 0}] }, {"title": 321, "num": 1, "type":[{"name":D,"num": 0},{"name":E,"num": 1},{"name":F,"num": 0}] }]

请问怎么样可以删除掉type中num=0的对象,其他num=1的继续保留?网上搜到的基本都是指定位置来删的,不适合使用。


你可以Array.filter函数过滤~~~

var myArray=[1,2,3,5,6];

myArray=myArray.filter(function(item, index, array){
    if(item>2){
        return true;
    }
    return false;
});

就是这样

var array = [
    {
        "title": 123,
        "num": 1,
        "type": [{"name": 'A', "num": 1}, {"name": 'B', "num": 1}, {"name": 'C', "num": 0}]
    }, {
        "title": 321,
        "num": 1,
        "type": [{"name": 'D', "num": 0}, {"name": 'E', "num": 1}, {"name": 'F', "num": 0}]
    }];

array.forEach(function (x) {
    x.type = x.type.filter(function (y) {
        return y.num != 0;
    });
});

可以用.filter函数来删除,比如

a = [{"name":'A', "num": 1},{"name":'B',"num": 1},{"name":'C',"num": 0}]
b = a.filter(function(x){return x.num != 0})
【热门文章】
【热门文章】