如何推送到特定位置的数组?
Posted
技术标签:
【中文标题】如何推送到特定位置的数组?【英文标题】:How to push to an array in a particular position? 【发布时间】:2012-02-03 23:39:59 【问题描述】:我正在尝试有效地编写一个语句,该语句将推送到数组的位置 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)
谢谢!
【问题讨论】:
你可以用这个***.com/questions/586182/… w3schools.com/jsref/jsref_splice.asp @Anand:请不要再喂 w3fools.com 了,这里有很多 better 引用 available。 How to insert an item into an array at a specific index?的可能重复 【参考方案1】: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]
【讨论】:
注意: splice 返回一个由已删除 元素组成的数组。在这些示例中,没有删除任何元素,因此console.log(array.splice(1,0,123))
将返回[]
。应该有 RTFM【参考方案2】:
要在数组中的特定索引处推送任何项目,请使用以下语法
// The original array
var array = ["one", "two", "four"];
// splice(position, numberOfItemsToRemove, item)
array.splice(2, 0, "three");
console.log(array); // ["one", "two", "three", "four"]
【讨论】:
【参考方案3】:
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;
<p id="demo">4,0,5,9,6,2,5</p>
<button id="btn01" onclick="my_func()">Splice Array</button>
【讨论】:
【参考方案4】:你能不能这样做:
myArray[idx] = foo;
您需要有一个大小合适的数组,但我不确定在没有请求索引的列表上拼接的行为是什么。
【讨论】:
啊,我刚刚意识到如果你想保留数组中的其他元素,拼接效果非常好。呵呵。以上是关于如何推送到特定位置的数组?的主要内容,如果未能解决你的问题,请参考以下文章
如何从特定列、特定表中选择所有内容,然后将它们推送到数组中?