如何在特定位置推送到阵列?

时间:2012-01-06 07:04:22

标签: javascript arrays 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可接受)

谢谢!

3 个答案:

答案 0 :(得分:22)

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]

答案 1 :(得分:12)

要按照语法

推送数组中特定索引处的任何项目
// The original array
var array = ["one", "two", "four"];
// splice(position, numberOfItemsToRemove, item)
array.splice(2, 0, "three");

console.log(array);  // ["one", "two", "three", "four"]

答案 2 :(得分:0)

splice()函数是唯一的本机数组函数,可让您将元素添加到数组的特定位置

我将得到一个您在问题中输入的数组来描述

splice(position, numberOfItemsToRemove, item)
  • position =您要添加新项目的位置是什么
  • numberOfItemsToRemove =这表明将删除多少个项目。那是 表示删除将根据新项目的添加位置开始。

Ex =如果要向123添加1个位置,结果将是这样([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;
}
<button id="btn01" onclick="my_func()">Check</button>
<p id="demo"></p>