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


当前回答

您可以使用JavaScript Spread运算符语法:

// Initialize the array

var arr = [
    "Hi",
    "Hello",
    "Bangladesh"
];

// Append a new value to the array

arr = [...arr, "Feni"]; 

// Or you can add a variable value

var testValue = "Cool";

arr = [...arr, testValue ];

console.log(arr);

// Final output [ 'Hi', 'Hello', 'Bangladesh', 'Feni', 'Cool' ]

其他回答

如果要将单个值附加到数组中,只需使用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);

附加单个项目

要将单个项附加到数组,请使用array对象提供的push()方法:

const fruits = ['banana', 'pear', 'apple']
fruits.push('mango')
console.log(fruits)

push()对原始数组进行变异。

要创建新数组,请使用concat()array方法:

const fruits = ['banana', 'pear', 'apple']
const allfruits = fruits.concat('mango')
console.log(allfruits)

请注意,concat()实际上并没有向数组中添加项,而是创建了一个新数组,您可以将其分配给另一个变量,或重新分配给原始数组(声明为let,因为无法重新分配常量):

const fruits = ['banana', 'pear', 'apple']
const allfruits = fruits.concat('mango')
console.log(allfruits)
let fruits = ['banana', 'pear', 'apple']
fruits = fruits.concat('mango')

附加多个项目

要将多个项附加到数组中,可以通过使用多个参数调用push():

const fruits = ['banana', 'pear', 'apple']
fruits.push('mango', 'melon', 'avocado')
console.log(fruits)

您还可以使用前面看到的concat()方法,传递一个用逗号分隔的项目列表:

const fruits = ['banana', 'pear', 'apple']
const allfruits = fruits.concat('mango', 'melon', 'avocado')
console.log(allfruits)

或阵列:

const fruits = ['banana', 'pear', 'apple']
const allfruits = fruits.concat(['mango', 'melon', 'avocado'])
console.log(allfruits)

请记住,如前所述,此方法不会改变原始数组,但会返回一个新数组。

最初发布于

现在,您可以利用ES6语法

let array = [1, 2];
console.log([...array, 3]);

保持原始数组不变。

您可以使用JavaScript Spread运算符语法:

// Initialize the array

var arr = [
    "Hi",
    "Hello",
    "Bangladesh"
];

// Append a new value to the array

arr = [...arr, "Feni"]; 

// Or you can add a variable value

var testValue = "Cool";

arr = [...arr, testValue ];

console.log(arr);

// Final output [ 'Hi', 'Hello', 'Bangladesh', 'Feni', 'Cool' ]

只想添加一个片段,用于非破坏性地添加元素。

var newArr = oldArr.concat([newEl]);