基本上我有一个对象数组如下,
蓝色圆圈显示我需要检查的对象的属性。
如果options属性中的所有项都具有“false”模型,我想从数组中删除整个对象。
如果有真假混合,我只想保留那些真实的。
知道怎么做吗?
所以基本上因为
TheArray[1].options['key1'].model = true;
我想保留一切。
但是因为
TheArray[2].options['key1'].model = false;
TheArray[2].options['key2'].model = false;
我想删除整个TheArray[2]
如果TheArray[2]
如下;
TheArray[2].options['key1'].model = true;
TheArray[2].options['key2'].model = false;
我想只保留TheArray[2].options['key1'];
我也使用角度4来做到这一点。
任何帮助将非常感激。
谢谢大家。
那么浏览整个对象并保留好的对象呢?
for (var i = 0; i < TheArray.length; i++) {
let checked = false;
for (var j = 0; j < TheArray[i].options.length; j++) {
let _this = TheArray[i].options[j]
if ( _this.model ) {
checked = true
break
}
}
if (!checked){
// remove it
}
}
这不是一个完整的答案。我的意思是,这个算法不会删除那个错误的算法,但只需删除中断部分,添加一个else
语句并将其删除。