如何在JavaScript中的数组的开头添加新的数组元素?
我需要在数组的开始处添加或预先添加元素。
例如,如果我的数组如下所示:
[23, 45, 12, 67]
而来自我的AJAX调用的响应是34
,我想要更新的数组如下所示:
[34, 23, 45, 12, 67]
目前我打算这样做:
var newArray = [];
newArray.push(response);
for (var i = 0; i < theArray.length; i++) {
newArray.push(theArray[i]);
}
theArray = newArray;
delete newArray;
有没有更好的方法来做到这一点? JavaScript是否有任何内置功能可以完成此功能?
我的方法的复杂性是O(n)
,看到更好的实现将会非常有趣。
使用不unshift
。 这就像push
,除了它添加元素到数组的开始而不是结束。
unshift
/ push
- 将一个元素添加到数组的开始/结尾 shift
/ pop
- 移除并返回数组的第一个/最后一个元素 一个简单的图...
unshift -> array <- push
shift <- array -> pop
和图表:
add remove start end
push X X
pop X X
unshift X X
shift X X
查看MDN阵列文档。 实际上,每个能够从数组中push / pop元素的语言都具有不移位/移位(有时称为push_front
/ pop_front
)元素的能力,您不应该自己实现这些元素。
var a = [23, 45, 12, 67];
a.unshift(34);
console.log(a); // [34, 23, 45, 12, 67]
使用ES6,使用扩展运算符...
:
DEMO
var arr = [23, 45, 12, 67];
arr = [34, ...arr]; // RESULT : [34,23, 45, 12, 67]
console.log(arr)
链接地址: http://www.djcxy.com/p/423.html
上一篇: How can I add new array elements at the beginning of an array in JavaScript?
下一篇: Sort array of objects by string property value in JavaScript