Javascript forEach()跳过项目
我是javascript新手。我只想删除所有具有completed:true的对象 但我的函数不能做到这一点。我错过了什么Javascript forEach()跳过项目,javascript,arrays,foreach,Javascript,Arrays,Foreach,我是javascript新手。我只想删除所有具有completed:true的对象 但我的函数不能做到这一点。我错过了什么 const todo = [{ title: 'do this', completed: true },{ title: 'do this', completed: true },{ title: 'do this', completed: true },{ title: 'do this', complete
const todo = [{
title: 'do this',
completed: true
},{
title: 'do this',
completed: true
},{
title: 'do this',
completed: true
},{
title: 'do this',
completed: true
}]
const remove = function(todo){
todo.forEach(function(item,index){
if(item.completed){
todo.splice(index,1)
}
})
}
remove(todo)
console.log(todo)
您可以改用
Array.prototype.filter
:
const undone = todo.filter((item) => !item.completed)
const completed = todo.filter((item) => item.completed)
如果要删除循环中的项,则需要向后循环数组,否则请使用过滤器。