如何从javascript对象中删除记录?

时间:2013-10-08 13:34:32

标签: javascript jquery

我有以下对象:

var arrayOfStuff= {};
arrayOfStuff.chapter = [];

for (var k = 0; k < array2.length; k++) {
    arrayOfStuff.chapter.push({"title": array2[k][1], "page": array2[k][2]}) 
}

如何在不留下空白记录的情况下从arrayOfStuff中删除记录?我已经尝试过装载东西,而不是在这里发布,因为我知道它们是错的!

即。我有

NameA, 2
NameB, 7
NameC, 11
NameD, 15
NameE, 20

我称之为arrayOfStuff.chapter [2] .remove();得到:

NameA, 2
NameB, 7
NameD, 15
NameE, 20

PS:在一个附带问题上,这类对象的正确名称是什么?我会把它关联成某种多维数组。

4 个答案:

答案 0 :(得分:2)

从数组中删除元素,您可以使用splice()。第一个参数是要删除的第一个项目的索引,第二个参数是要删除的项目数。以下示例删除元素2.

arrayOfStuff.chapter.splice(2, 1);

此功能适用于数组。如果您想从对象中移除属性,则可以使用delete关键字。如果在数组上使用delete,它会留下一个空元素。以下示例从 arrayOfStuff 对象中删除属性章节

delete arrayOfStuff.chapter;

回答你的问题: arrayOfStuff 只是一个对象。它有一个名为 chapter 的属性,它是一个数组。这种结构没有特殊的名称。

答案 1 :(得分:1)

您可以使用splice()

arrayOfStuff.chapter.splice(2,1);
// 2 : start index
// 1 : how many

答案 2 :(得分:0)

答案 3 :(得分:0)

向项目中添加项目 var fruits = [“Banana”,“Orange”,“Apple”,“Mango”]; fruits.splice(2,0, “柠檬”, “猕猴桃”);

水果的结果将是: 香蕉,橙,柠檬,猕猴桃,苹果,芒果

在第2位,删除2项: var fruits = [“Banana”,“Orange”,“Apple”,“Mango”];

fruits.splice(2,2);

水果的结果将是: 香蕉,橙