我有一个javscript对象
finalTitleList =[{"Title":"ffd","Iscompleted":"","Id":0},
{"Title":"fdfmdbk","Iscompleted":"","Id":1},
{"Title":"fdf,d","Iscompleted":"","Id":2}]
假设我想使用delete finalTitleList[1]
删除第二项,删除后删除项目但不更新长度(附加快照:仅包含2项但显示长度为3)。
![在此处输入图片说明] [1]
所以当我使用
在localstorage中添加该对象时localStorage.setItem("TaskTitleList16", JSON.stringify(finalTitleList));
在删除项目的位置,它显示为null。
我想完全删除该项目,请帮助我。
答案 0 :(得分:6)
这是一个使用示例:
var a = [1, 2, 3, 4, 5];
a.splice(2,1); // Being splice at element 2, deleting (and returning) 1 element
console.log(a); // outputs [1, 2, 4, 5]
删除的工作方式与您对数组的预期有所不同,并且不应该使用。首先,删除不会影响数组的长度。对于二,它将这个未定义的值留在数组的中间,这意味着你必须使用数组在代码中处理它。
总之,不要在数组上使用delete。您可以使用大量内置方法来处理数组,或者将它们组合到您自己的操作中。 Use them。