2016-10-05 218 views
-4

我試圖刪除基於它們在數組中的索引某些元素。 例如:爲什麼Array.splice(-1,1)刪除Javascript中的最後一個元素?

var x = ["a","b","c"]; 

,並嘗試做

x.splice(x.indexOf("d"),1) 

因爲這原來是x.splice(-1,1) - 它結束了去除數組元素「C」!

無法理解爲什麼會發生這種情況,即使JavaScript中沒有Arrays的循環屬性。

+7

你有沒有[檢查文檔](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice)關於'splice'的工作方式? – ssube

+0

說到@ssube的鏈接:「如果否定,將從最後開始許多元素。」 –

回答

1

MDN page for splice

如果爲負,將開始從年底,許多元素。

所以x.splice(-1, 1)x的末尾開始一個元素並刪除單個元素。

相關問題