我在學習Javascript,我來自Python背景。 因此,我試圖從末端嘗試索引array
,即使用負指數,這是相當直觀的。
從我目前閱讀的內容來看,Javascript不支持它們。 但是,我發現了一些看起來很有趣的東西,但我無法理解背後的原因。從末尾對數組進行索引
todos = ['item1', 'item2', 'item3']
function updateTodos(index, new_value) {
todos[index] = new_value
console.log(todos)
}
function deleteTodos(index) {
todos.splice(index)
console.log(todos)
}
deleteTodos(-1)
updateTodos(-1, 'new_item')
deleteTodos(-1)
輸出
["item1", "item2"]
["item1", "item2", -1: "new_item"]
["item1", -1: "new_item"]
問:爲什麼deleteTodos
能夠通過索引刪除正確而updateTodos
是不是?
問:我怎樣才能適應這種在updateTodos
中負向索引的行爲,以及一般處理array
數據結構的任何函數?
據我所知,updateTodos
中的索引查找index
變量,並更新該索引處的值(如果存在),否則它會創建鍵值對。 splice
方法支持負向索引,不是嗎?
如果你能澄清我的推理和/或幫助我用有用的資源來更好地理解這個概念,我將不勝感激。
謝謝。我的臨時解決方案是檢查索引是否爲負值並應用上面編寫的公式,但我正在尋找可執行更新的內置功能。有一個嗎? –
據我所知,沒有內置的反向索引數組的功能。 – squgeim