我有以下对象:
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:在一个附带问题上,这类对象的正确名称是什么?我会把它关联成某种多维数组。
答案 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)
使用splice方法从数组中删除项目。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
答案 3 :(得分:0)
向项目中添加项目 var fruits = [“Banana”,“Orange”,“Apple”,“Mango”]; fruits.splice(2,0, “柠檬”, “猕猴桃”);
水果的结果将是: 香蕉,橙,柠檬,猕猴桃,苹果,芒果
在第2位,删除2项: var fruits = [“Banana”,“Orange”,“Apple”,“Mango”];
fruits.splice(2,2);
水果的结果将是: 香蕉,橙