我在学习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