如何将某些内容附加到数组?
2022-08-29 21:49:37
如何将对象(如字符串或数字)追加到 JavaScript 中的数组?
使用 Array.prototype.push
方法将值追加到数组的末尾:
// initialize array
var arr = [
"Hi",
"Hello",
"Bonjour"
];
// append new value to the array
arr.push("Hola");
console.log(arr);
可以使用该函数在单个调用中将多个值追加到数组中:push()
// initialize array
var arr = ["Hi", "Hello", "Bonjour", "Hola"];
// append multiple values to the array
arr.push("Salut", "Hey");
// display all values
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
更新
如果要将一个数组的项添加到另一个数组中,可以使用firstArray.concat(secondArray)
:
var arr = [
"apple",
"banana",
"cherry"
];
// Do not forget to assign the result as, unlike push, concat does not change the existing array
arr = arr.concat([
"dragonfruit",
"elderberry",
"fig"
]);
console.log(arr);
更新
如果你想在数组的开头(即第一个索引)之前附加任何值,那么你可以使用Array.prototype.unshift
来实现这个目的。
var arr = [1, 2, 3];
arr.unshift(0);
console.log(arr);
它还支持一次追加多个值,就像 .push
更新
使用 ES6 语法的另一种方法是返回具有展开语法的新数组。这将使原始数组保持不变,但返回一个新数组,其中附加了新项,符合函数式编程的精神。
const arr = [
"Hi",
"Hello",
"Bonjour",
];
const newArr = [
...arr,
"Salut",
];
console.log(newArr);
如果您只追加单个变量,则工作正常。如果需要追加另一个数组,请使用 :push()
concat()
var ar1 = [1, 2, 3];
var ar2 = [4, 5, 6];
var ar3 = ar1.concat(ar2);
alert(ar1);
alert(ar2);
alert(ar3);
除非重新分配,否则连接不受影响,例如:ar1
ar2
var ar1 = [1, 2, 3];
var ar2 = [4, 5, 6];
ar1 = ar1.concat(ar2);
alert(ar1);
关于JavaScript Reference有很多很棒的信息。