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


当前回答

如果arr是数组,而val是要添加的值,请使用:

arr.push(val);

E.g.

var arr=[‘a’,‘b’,‘c’];arr.push('d');控制台日志(arr);

其他回答

如果您知道最高索引(例如存储在变量“i”中),那么您可以

myArray[i + 1] = someValue;

然而,如果你不知道,那么你可以使用

myArray.push(someValue);

如其他答案所示,或者您可以使用

myArray[myArray.length] = someValue;

注意,数组是从零开始的,因此.length返回最高索引加1。

还要注意,您不必按顺序添加,实际上可以跳过值,如

myArray[myArray.length + 1000] = someValue;

在这种情况下,介于两者之间的值将具有未定义的值。

因此,当在JavaScript中循环以验证某个值是否确实存在时,这是一个很好的做法。

这可以通过以下方式实现:

if(myArray[i] === "undefined"){ continue; }

如果您确定数组中没有任何零,则可以执行以下操作:

if(!myArray[i]){ continue; }

当然,在这种情况下,请确保不要使用myArray[i]作为条件(正如互联网上的一些人根据结尾所建议的,一旦i大于最高索引,它将返回undefined,其结果为false)。

现在,您可以利用ES6语法

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

保持原始数组不变。

附加单个元素

// Append to the end
arrName.push('newName1');

// Prepend to the start
arrName.unshift('newName1');

// Insert at index 1
arrName.splice(1, 0,'newName1');
// 1: index number, 0: number of element to remove, newName1: new element


// Replace index 3 (of exists), add new element otherwise.
arrName[3] = 'newName1';

附加多个元素

// Insert from index number 1
arrName.splice(1, 0,'newElemenet1', 'newElemenet2', 'newElemenet3');
// 1: index number from where insert starts,
// 0: number of element to remove,
//newElemenet1,2,3: new elements

附加一个数组

// Join two or more arrays
arrName.concat(newAry1, newAry2);
//newAry1,newAry2: Two different arrays which are to be combined (concatenated) to an existing array

使用凹面:

a=[1,2,3];b=[3,4,5];a=混凝土(b);控制台日志(a);

让数组长度属性执行以下操作:

myarray[myarray.length] = 'new element value added to the end of the array';

myarray.length返回数组中的字符串数。JavaScript是从零开始的,因此数组的下一个元素键将是数组的当前长度。

例子:

var myarray = [0, 1, 2, 3],
    myarrayLength = myarray.length; // myarrayLength is set to 4