数组的结构是这样的:[
{"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})