首页 > 解决方案 > Javascript forEach() 跳过项目

问题描述

我是 JavaScript 新手。只是我想删除所有已完成的对象:true。

但我的功能不这样做。我错过了什么?

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)

标签: javascriptarraysforeach

解决方案


您可以Array.prototype.filter改用:

const undone = todo.filter((item) => !item.completed)
const completed = todo.filter((item) => item.completed)

推荐阅读