我正在尝试高效地编写一个语句,将元素推到数组的第1个位置,并将该位置或之后的元素向后移动一位。
array = [4,5,9,6,2,5]
#push 0 to position 1
array = [4,0,5,9,6,2,5]
#push 123 to position 1
array = [4,123,0,5,9,6,2,5]
如何编写最佳代码?(可使用JavaScript或CoffeeScript)
谢谢!
我正在尝试高效地编写一个语句,将元素推到数组的第1个位置,并将该位置或之后的元素向后移动一位。
array = [4,5,9,6,2,5]
#push 0 to position 1
array = [4,0,5,9,6,2,5]
#push 123 to position 1
array = [4,123,0,5,9,6,2,5]
如何编写最佳代码?(可使用JavaScript或CoffeeScript)
谢谢!
array = [4,5,9,6,2,5]
#push 0 to position 1
array.splice(1,0,0)
array = [4,0,5,9,6,2,5]
#push 123 to position 1
array.splice(1,0,123)
array = [4,123,0,5,9,6,2,5]
console.log(array.splice(1,0,123))
将返回[]
。应该阅读文档。 - Pakman// The original array
var array = ["one", "two", "four"];
// splice(position, numberOfItemsToRemove, item)
array.splice(2, 0, "three");
console.log(array); // ["one", "two", "three", "four"]
splice()
函数是唯一一个允许你将元素添加到数组特定位置的原生数组函数我将获得一个数组,该数组是您在问题中输入的描述
splice(position, numberOfItemsToRemove, item)
position
= 您想添加新项的位置。numberOfItemsToRemove
= 这表示要删除的项目数量。这意味着删除将根据添加新项的位置开始。Ex = 如果您想将1位置添加到123,结果将是这样的([4,123,0,5,9,6,2,5]), 但如果您给
numberOfItemsToRemove
1,它将在123后删除第一个元素,如果您给2,则删除123后的两个元素。
item
= 您要添加的新项。function my_func(){
var suits = [4,0,5,9,6,2,5]
suits.splice(1 , 0 , 123);
document.getElementById('demo').innerHTML = suits;
}
<p id="demo">4,0,5,9,6,2,5</p>
<button id="btn01" onclick="my_func()">Splice Array</button>
你能不能只做这个:
myArray[idx] = foo;
你需要一个大小合适的数组,但是我不确定对于一个没有请求索引的列表进行splice操作的行为是什么。
idx
处的元素,所以不是这里的答案。 - Cadoiz