javascript - 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)
解决方案
您可以Array.prototype.filter
改用:
const undone = todo.filter((item) => !item.completed)
const completed = todo.filter((item) => item.completed)
推荐阅读
- css - 如何在antd(白色主题)中实现带有logo和菜单的固定标题?
- c# - 混淆单个 And & 运算符以及如何将其记录在数据库中
- c - 如何摆脱C中的嵌套循环?
- javascript - 将点表示法与功能组件一起使用
- bit-manipulation - 4<<1<<2 怎么是 32?
- python - 在使用 reticulate 创建的 virtualenv 中安装特定版本的 python 包
- python - 使用beautifulsoup从网站的搜索结果中获取列表并隐藏到数据框
- ios - ApplePay 问题 - 付款未完成
- python-3.x - 在较新版本的 Python3 中使用已安装的 pip 包
- ruby-on-rails - 使表名仅对用户唯一,而不是在整个数据库中唯一