如何删除数组对象Javascript中的所有项目have isDone===true?
我想删除数组如何删除数组对象Javascript中的所有项目have isDone===true?,javascript,arrays,removeall,Javascript,Arrays,Removeall,我想删除数组列表中所有元素有值isDone===true。但我不知道全部删除,我只删除每一项 这是我的代码: clearCompleted: function (list) { for (var i = 0; i < list.length; i++) { if (list[i].isDone === true) { list.splice(i, 1); } } }, clearCompleted:函数(列表){ 对于(变量
列表中所有元素有值isDone===true
。但我不知道全部删除,我只删除每一项
这是我的代码:
clearCompleted: function (list) {
for (var i = 0; i < list.length; i++) {
if (list[i].isDone === true) {
list.splice(i, 1);
}
}
},
clearCompleted:函数(列表){
对于(变量i=0;i
请帮我解决它 使用while
或do..while
循环,Array.prototype.indexOf()
,Array.prototype.find()
以避免检查原始数组.length
属性
let list=[{isDone:true},{isDone:false},{isDone:true}];
while(list.find({isDone}=>isDone)){
拼接(list.indexOf(list.find({isDone}=>isDone)),1)
}
控制台日志(列表)代码>你不能像那样修改你正在循环的数组,你可以做一些事情来解决这个问题。好的解决方案请参见答案。非常感谢。@Trầ新罕布什尔州ạnh模式可以使用for
loopfor(;list.find({isDone}=>isDone);{list.splice(list.indexOf(list.find({isDone}=>isDone)),1}
使用与相同数量的字符,而则使用相同数量的字符。感谢您的帮助。你能给我解释一下({isDone}=>isDone)
吗?我不明白。语法是和。相当于.find(函数(对象){return object.isDone})
感谢您的支持。但我只是学习了ES5 javascript:(.这种做法只需使用ES5