如何在JavaScript中将对象(如字符串或数字)附加到数组中?


当前回答

如果要添加值,可以使用push(),例如arr.push(“测试1”、“测试2”);。

如果您有数组,可以使用concat(),例如Array1.contat(Array2)。

如果只有一个元素要添加,也可以尝试长度方法,例如array[aray.length]=“test”;。

其他回答

使用新的ES6排列运算符,使用push连接两个阵列变得更加容易:

var arr=[1,2,3,4,5];var arr2=[6,7,8,9,10];arr.push(…arr2);控制台日志(arr);

这会将arr2的内容添加到arr的末尾。

Babel REPL示例

如果只追加一个变量,则push()工作正常。如果需要附加另一个数组,请使用concat():

var ar1=[1,2,3];var ar2=[4,5,6];var ar3=ar1.concat(ar2);警报(ar1);警报(ar2);警报(ar3);

除非重新分配,否则concat不会影响ar1和ar2,例如:

var ar1=[1,2,3];var ar2=[4,5,6];ar1=ar1.concat(ar2);警报(ar1);

关于JavaScript参考,有很多很棒的信息。

您可以使用push方法。

Array.prototype.append = function(destArray){
    destArray = destArray || [];
    this.push.call(this, ...destArray);
    return this;
}
var arr = [1,2,5,67];
var arr1 = [7,4,7,8];
console.log(arr.append(arr1)); // [7, 4, 7, 8, 1, 4, 5, 67, 7]
console.log(arr.append("Hola")) // [1, 2, 5, 67, 7, 4, 7, 8, "H", "o", "l", "a"]

有两种方法可以在JavaScript中附加数组:

1) push()方法将一个或多个元素添加到数组的末尾,并返回数组的新长度。

var a = [1, 2, 3];
a.push(4, 5);
console.log(a);

输出:

[1, 2, 3, 4, 5]

2) unshift()方法将一个或多个元素添加到数组的开头,并返回数组的新长度:

var a = [1, 2, 3];
a.unshift(4, 5);
console.log(a); 

输出:

[4, 5, 1, 2, 3]

3) concat()方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。

var arr1 = ["a", "b", "c"];
var arr2 = ["d", "e", "f"];
var arr3 = arr1.concat(arr2);
console.log(arr3);

输出:

[ "a", "b", "c", "d", "e", "f" ]

4) 可以使用数组的.length属性将元素添加到数组的末尾:

var ar = ['one', 'two', 'three'];
ar[ar.length] = 'four';
console.log( ar ); 

输出:

 ["one", "two", "three", "four"]

5) splice()方法通过删除现有元素和/或添加新元素来更改数组的内容:

var myFish = ["angel", "clown", "mandarin", "surgeon"];
myFish.splice(4, 0, "nemo");
//array.splice(start, deleteCount, item1, item2, ...)
console.log(myFish);

输出:

["angel", "clown", "mandarin", "surgeon","nemo"]

6) 您还可以通过指定新索引并赋值来向数组中添加新元素:

var ar = ['one', 'two', 'three'];
ar[3] = 'four'; // add new element to ar
console.log(ar);

输出:

["one", "two","three","four"]

如果要组合两个数组而不重复,可以尝试以下代码:

array_merge = function (arr1, arr2) {
  return arr1.concat(arr2.filter(function(item){
    return arr1.indexOf(item) < 0;
  }))
}

用法:

array1 = ['1', '2', '3']
array2 = ['2', '3', '4', '5']
combined_array = array_merge(array1, array2)

输出:

[1,2,3,4,5]