首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在JavaScript中的数组开头添加新的数组元素?

如何在JavaScript中的数组开头添加新的数组元素?
EN

Stack Overflow用户
提问于 2011-11-10 08:35:22
回答 7查看 1.1M关注 0票数 1.9K

我需要在数组的开头添加或预先添加元素。

例如,如果我的数组如下所示:

代码语言:javascript
复制
[23, 45, 12, 67]

AJAX调用的响应是34,我希望更新后的数组如下所示:

代码语言:javascript
复制
[34, 23, 45, 12, 67]

目前,我计划这样做:

代码语言:javascript
复制
var newArray = [];
newArray.push(response);

for (var i = 0; i < theArray.length; i++) {
    newArray.push(theArray[i]);
}

theArray = newArray;
delete newArray;

有没有更好的方法来做这件事?JavaScript有没有内置的功能可以做到这一点?

我的方法的复杂性是O(n),如果能看到更好的实现将会非常有趣。

EN

回答 7

Stack Overflow用户

发布于 2011-11-10 08:40:38

代码语言:javascript
复制
var a = [23, 45, 12, 67];
a.unshift(34);
console.log(a); // [34, 23, 45, 12, 67]

票数 1.6K
EN

Stack Overflow用户

发布于 2016-02-19 18:56:57

另一种方法是通过concat

代码语言:javascript
复制
var arr = [1, 2, 3, 4, 5, 6, 7];
console.log([0].concat(arr));

concatunshift之间的区别在于concat返回一个新的数组。它们之间的性能可以在here上找到。

代码语言:javascript
复制
function fn_unshift() {
  arr.unshift(0);
  return arr;
}

function fn_concat_init() {
  return [0].concat(arr)
}

测试结果如下:

票数 85
EN

Stack Overflow用户

发布于 2015-04-21 03:19:57

您有一个数组:var arr = [23, 45, 12, 67];

要将项目添加到开头,需要使用splice

代码语言:javascript
复制
var arr = [23, 45, 12, 67];
arr.splice(0, 0, 34)
console.log(arr);

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8073673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档