我试图删除数组中的多个条目。
这些条目是对象,我需要找到符合特定条件的对象。
var pending = [];
a.forEach(function(entry, index) {
if(entry.b == data) {
pending.push(index);
}
});
pending.forEach(function(entry) {
a.splice(entry, 1);
});
问题是它只删除了我想要的一半(当b = data
时),甚至删除了一些随机条目......
感谢您的帮助。
答案 0 :(得分:2)
我假设a
是一个对象数组,您希望对其进行过滤,以便仅保留那些b
属性等于字符串'data'
的对象。情况就是这样:
// this outputs to the console, you should probably press 'F12'
var a = [{
'b': 'data'
}, {
'b': 'something else'
}, {
'b': 'data'
}, {
'b': 50
}],
pending = a.filter(function(elem) {
return elem.b === 'data';
});
console.log(pending);
参考文献: