2013-10-08 25 views
1

我有以下對象:如何從javascript對象中刪除記錄?

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]卸下襬臂();得到:

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

PS:在一個側面問題,這種類型的對象是什麼名稱?我會把它作爲某種多維數組。

回答

1

您可以使用splice()

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

最好的答案考慮您列入「第二章」的一部分。 –

2

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

arrayOfStuff.chapter.splice(2, 1); 

此功能用於數組。如果您想要從對象中刪除屬性,則可以使用delete關鍵字。但是,如果在數組上使用刪除,則會留下空元素。以下示例從您的arrayOfStuff對象中刪除章節的屬性。

delete arrayOfStuff.chapter; 

要回答你的身邊的問題:arrayOfStuff是一個簡單的對象。它有一個名爲的章節,它是一個數組。這種結構沒有特殊的名稱。

0

將項目添加到數組中: var fruits = [「Banana」,「Orange」,「Apple」,「Mango」]; 012,fruits.splice(2,0,「檸檬」,「奇異果」);

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

在位置2,取出2項: VAR水果= 「香蕉」,「橙色「,」蘋果「,」芒果「];

水果。拼接(2,2);

水果的結果將是: 香蕉,橘子