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


当前回答

有两种方法可以在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"]

其他回答

您可以使用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"]

将值附加到数组

由于Array.prototype.push将一个或多个元素添加到数组的末尾,并返回数组的新长度,因此有时我们只想获得最新的数组,这样我们就可以这样做:

const arr = [1, 2, 3];
const val = 4;

arr.concat([val]); // [1, 2, 3, 4]

或者只是:

[...arr, val] // [1, 2, 3, 4]

如果要附加两个数组-

var a = ['a', 'b'];
var b = ['c', 'd'];

那么您可以使用:

var c = a.concat(b);

如果您想将记录g添加到数组(var a=[]),那么可以使用:

a.push('g');

在数组上追加项

let fruits = ["orange", "banana", "apple", "lemon"]; /* Array declaration */

fruits.push("avacado"); /* Adding an element to the array */

/* Displaying elements of the array */

for(var i=0; i < fruits.length; i++){
  console.log(fruits[i]);
}

push()方法向数组末尾添加新项,并返回新长度。例子:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi");

// The result of fruits will be:
Banana, Orange, Apple, Mango, Kiwi

您的问题的确切答案已经得到了回答,但让我们看看向数组中添加项的其他方法。

unshift()方法将新项添加到数组的开头,并返回新长度。例子:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon", "Pineapple");

// The result of fruits will be:
Lemon, Pineapple, Banana, Orange, Apple, Mango

最后,concat()方法用于连接两个或多个数组。例子:

var fruits = ["Banana", "Orange"];
var moreFruits = ["Apple", "Mango", "Lemon"];
var allFruits = fruits.concat(moreFruits);

// The values of the children array will be:
Banana, Orange, Apple, Mango, Lemon