2015-10-25 27 views
0

我有一個對象具有重複的值,所以我用刪除new_object [1]來刪除該值,但是當我在控制檯中看到它時,它顯示的對象中未定義0800delete array [x]刪除值但不是整個元素

["293", undefined, "298", "297"] 
+0

您還沒有提供足夠的信息來正確回答這個問題。 –

+1

使用'splice'。不刪除 –

+0

你需要什麼信息@CliffRibaudo?代碼或完整的對象或其他東西? –

回答

4

您應該使用

arr.splice(index, 1); 

delete僅刪除元素,但保持索引。 This question性質類似,提供更多信息。

1

我認爲你應該使用splice

a = ["1","2","3"]; 
a.splice(1,0) 
console.log(a) //["1","3"] 
1

VAR測試= [1,2,3,4];

刪除測試[1];

現在如果你打印測試變量,你會得到

=> [1,3,4]

這就是爲什麼你有不確定

喜歡這裏的每個人接聽,你應該使用拼接

test.splice(1,1);

現在打印測試變量會給你

=> [1,3,4,5]

1

需要使用剪接()以便從數組中刪除該值。你在做什麼只是將其設置爲未定義。

var myArray = ['295', '296', '297', '298']; 

// removes 1 element from index 2 
var removed = myArray.splice(2, 1); 
// myArray is ['295', '296', '298']; 
// removed is ['297'] 

參考Array.splice

拼接()方法改變陣列的通過去除現有 元件和/或添加新元素的內容。