我有一个存储在本地存储中的数组对象,如下所示
var todos = [
{"id":0,"text":"Make lunch","completed":true},
{"id":1,"text":"Do laundry","completed":false},
{"id":2,"text":"Complete Project","completed":true}
]
如何删除所有已完成的对象? 请告诉我如何使用splice方法将其删除,因为我无法替换数组,我只想从数组中删除它!(根据我的项目要求) 感谢您的帮助
答案 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
,但我建议您使用const
或let
代替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}];