如何在JavaScript中将对象(如字符串或数字)附加到数组中?
当前回答
我认为值得一提的是,push可以用多个参数调用,这些参数将按顺序附加到数组中。例如:
var arr=['first'];arr.push('第二个','第三个');控制台日志(arr);
因此,您可以使用push.apply将一个数组附加到另一个数组,如下所示:
var arr=['first'];arr.push('第二个','第三个');arr.push.apply(arr,['forth','fifth']);控制台日志(arr);
带注释的ES5提供了更多关于推送和应用功能的信息。
2016年更新:使用spread,您不再需要应用,例如:
var arr=['first'];arr.push('第二个','第三个');arr.push(…['furth','fifth']);控制台日志(arr);
其他回答
如果要附加两个数组-
var a = ['a', 'b'];
var b = ['c', 'd'];
那么您可以使用:
var c = a.concat(b);
如果您想将记录g添加到数组(var a=[]),那么可以使用:
a.push('g');
您可以使用push和apply函数附加两个数组。
var数组1=[11,32,75];var数组2=[99,67,34];数组.原型.推送.应用(array1,array2);console.log(array1);
它将把array2追加到array1。现在数组1包含[11,32,75,99,67,34]。这段代码比编写循环来复制数组中的每个项要简单得多。
现在大多数浏览器都支持ECMAScript 5(ES5)标准的JavaScript,您可以使用apply()将array1附加到array2。
var array1 = [3, 4, 5];
var array2 = [1, 2];
Array.prototype.push.apply(array2, array1);
console.log(array2); // [1, 2, 3, 4, 5]
带有ECMAScript 6(ES6)标准的JavaScript,Chrome、Firefox、Internet Explorer和Edge支持该标准,您可以使用扩展运算符:
"use strict";
let array1 = [3, 4, 5];
let array2 = [1, 2];
array2.push(...array1);
console.log(array2); // [1, 2, 3, 4, 5]
排列运算符将替换array2.push(…array1);带有阵列2.推(3,4,5);当浏览器思考逻辑时。
加分
如果要创建另一个变量来存储两个数组中的所有项,可以执行以下操作:
ES5 var combinedArray=array1.concat(array2);
ES6常量组合数组=[…array1,…array2]
扩展运算符(…)用于扩展集合中的所有项目。
如果要将单个值附加到数组中,只需使用push方法。它将在数组末尾添加一个新元素。
但是,如果您打算添加多个元素,请将这些元素存储在一个新数组中,并将第二个数组与第一个数组连接起来。。。无论你想怎样。
arr=['a','b','c'];
arr.push('d');
//now print the array in console.log and it will contain 'a','b','c','d' as elements.
console.log(array);
如果要添加值,可以使用push(),例如arr.push(“测试1”、“测试2”);。
如果您有数组,可以使用concat(),例如Array1.contat(Array2)。
如果只有一个元素要添加,也可以尝试长度方法,例如array[aray.length]=“test”;。