我正在使用此代码迭代一个数组并删除该元素,如果它不包含itemsToPost。
rssFeeds.forEach(function(feed, index, array){
if(feed.itemsToPost.length == 0){
delete rssFeeds[index]
}
});
但是,我从中收到的数组,假设所有元素都被删除,如下所示:
[ , ]
当我针对Lodash的方法运行此测试以测试数组是否为空时。
console.log(_.isEmpty(array))) // returns 'false'
如何完全删除这些元素,使数组真的为空?
更新:
我已经找到了一个使用Array.prototype.filter的解决方案,如:[/ p>
function hasNewItems(array) {
return array.itemsToPost.length > 0;
}
var newArray = rssFeeds.filter(hasNewItems)
console.log(newArray); // returns []
不一定要删除数组,但它具有所需的效果。
答案 0 :(得分:2)
delete
不是从数组中删除元素的正确方法,您应该使用rssFeeds.splice(index, 1)
代替。