删除添加空值的Javascript对象项

时间:2015-01-18 02:58:48

标签: javascript

我有一个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。

我想完全删除该项目,请帮助我。

1 个答案:

答案 0 :(得分:6)

您想要Array.prototype.splice()

这是一个使用示例:

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