如何在 JavaScript 中将对象(例如字符串或数字)附加到数组中?
使用该Array.prototype.push方法将值附加到数组的末尾:
Array.prototype.push
// initialize array var arr = [ "Hi", "Hello", "Bonjour" ]; // append new value to the array arr.push("Hola"); console.log(arr);
您可以使用该push()函数在一次调用中将多个值附加到数组:
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):
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其用于此目的。
Array.prototype.unshift
var arr = [1, 2, 3]; arr.unshift(0); console.log(arr);
它还支持一次附加多个值,就像push.
push
ES6语法的另一种方法是使用扩展语法返回一个新数组。这使原始数组保持不变,但返回一个带有新项的新数组,符合函数式编程的精神。
const arr = [ "Hi", "Hello", "Bonjour", ]; const newArr = [ ...arr, "Salut", ]; console.log(newArr);
如果您只附加一个变量,那么push()就可以了。如果您需要附加另一个数组,请使用concat():
concat()
var ar1 = [1, 2, 3]; var ar2 = [4, 5, 6]; var ar3 = ar1.concat(ar2); alert(ar1); alert(ar2); alert(ar3);
除非重新分配,否则concat 不会影响ar1,ar2例如:
ar1
ar2
var ar1 = [1, 2, 3]; var ar2 = [4, 5, 6]; ar1 = ar1.concat(ar2); alert(ar1);
有很多关于JavaScript Reference的重要信息。