从JavaScript中的数组中删除特定对象

时间:2018-11-24 10:34:47

标签: javascript arrays

我有一个存储在本地存储中的数组对象,如下所示

  var todos = [
    {"id":0,"text":"Make lunch","completed":true},
    {"id":1,"text":"Do laundry","completed":false},
    {"id":2,"text":"Complete Project","completed":true}
  ]

如何删除所有已完成的对象? 请告诉我如何使用splice方法将其删除,因为我无法替换数组,我只想从数组中删除它!(根据我的项目要求) 感谢您的帮助

4 个答案:

答案 0 :(得分:3)

您可以尝试使用JavaScript array.filter

todos=todos.filter(todo=>!todo.completed);

答案 1 :(得分:0)

像这样的事情会做

var filteredAry = todos.filter(function(e) { return e.competed !== 'true' })

答案 2 :(得分:0)

您可以过滤未完成的待办事项,例如:

const unCompletedTodos = todos.filter(todo => !todo.completed);

此外,您不必使用const,也可以使用var,但我建议您使用constlet代替var

答案 3 :(得分:0)

var todos = [
{"id":0,"text":"Make lunch","completed":true},
{"id":1,"text":"Do laundry","completed":false},
{"id":2,"text":"Complete Project","completed":true} ];

var inCompletes = todos.filter(item => !item.completed );

inCompletes 将返回一个已完成的对象数组为false。

输出

inCompletes = [{"id":1,"text":"Do laundry","completed":false}];