如何推送到特定位置的数组?

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;

您需要有一个大小合适的数组,但我不确定在没有请求索引的列表上拼接的行为是什么。

【讨论】:

啊,我刚刚意识到如果你想保留数组中的其他元素,拼接效果非常好。呵呵。

以上是关于如何推送到特定位置的数组?的主要内容,如果未能解决你的问题,请参考以下文章

如何从特定列、特定表中选择所有内容,然后将它们推送到数组中?

无法弄清楚如何将数据异步推送到数组

Node.js 无法使用 Promise、Mongoose 和 GET 请求推送到全局数组

真实设备如何将位置信息推送到API?

Mongoose:如何将新值推送到特定键中?

打字稿推送到数组中的特定键