我想删除满足条件的json元素。为此,我使用了给定的代码
var index = -1;
for (var i = 0; i < data.dashLayout.dashlets.length; i++) {
if (data.dashLayout.dashlets[i].rowNo == selectedrowno) {
if (index == -1 || data.dashLayout.dashlets[i].rowNo < data.dashLayout.dashlets[index].rowNo) {
index = i;
}
}
if (index != -1) {
data.dashLayout.dashlets.splice(index, 1);
}
}
但是迭代尚未完成,因为 data.dashLayout.dashlets.length
随着拼接而减小。我该如何解决这个问题?我想删除所有满足条件的项目。请帮忙
最佳答案
另外两种解决方案
var a = [2,5,8,13,9,1,4,8,10], l = a.length, c = 5;
// using reverse loop
while(l--){
if(a[l] < c) a.splice(l, 1);
}
// using filter
var b = a.filter(function(e, c) {
return --e > c;
});
console.log(a); // [5, 8, 13, 9, 8, 10]
console.log(b); // [5, 8, 13, 9, 8, 10]
关于javascript - 如何从数组中删除满足条件的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24837039/