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


当前回答

当然,concat()也可以用于二维数组。无需循环。

var a = [
    [1, 2],
    [3, 4] ];

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

b = b.concat(a);

alert(b[2][1]); // Result: 2

其他回答

如果您知道最高索引(例如存储在变量“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)。

如果要附加两个数组-

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

那么您可以使用:

var c = a.concat(b);

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

a.push('g');

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

如果您使用的是ES6,则可以使用扩展运算符来执行此操作。

var arr = [
    "apple",
    "banana",
    "cherry"
];

var arr2 = [
    "dragonfruit",
    "elderberry",
    "fig"
];

arr.push(...arr2);

当然,concat()也可以用于二维数组。无需循环。

var a = [
    [1, 2],
    [3, 4] ];

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

b = b.concat(a);

alert(b[2][1]); // Result: 2