簡體   English   中英

如何從javascript對象中刪除記錄?

[英]How to delete a record from a javascript object?

我有以下對象:

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:關於這個問題,這類對象的正確名稱是什么? 我會將它關聯為某種多維數組。

要從數組中刪除元素 ,可以使用splice() 第一個參數是要刪除的第一個項目的索引,第二個參數是要刪除的項目數。 以下示例刪除元素2。

arrayOfStuff.chapter.splice(2, 1);

此函數適用於數組。 如果要從對象中刪除屬性 ,可以使用delete關鍵字。 如果在數組上使用delete,它會留下一個空元素。 以下示例從arrayOfStuff對象中刪除屬性章節

delete arrayOfStuff.chapter;

回答你的問題: arrayOfStuff只是一個對象。 它有一個名為chapter的屬性,它是一個數組。 這種結構沒有特殊的名稱。

你可以使用splice()

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

添加項目到數組: var fruits = [“Banana”,“Orange”,“Apple”,“Mango”]; fruits.splice(2,0, “檸檬”, “獼猴桃”);

水果的結果將是:香蕉,橙子,檸檬,獼猴桃,蘋果,芒果

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

fruits.splice(2,2);

水果的結果將是:香蕉,橙

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM