我想在数组声明中直接使用函数push()
,但它无法正常工作。在我的示例中,我的数组返回值2
:
var j = ["b"].push("a");
document.write(j); // return 2

为什么我的数组返回值2
而不是["b", "a"]
?
答案 0 :(得分:7)
.push返回:
调用方法的对象的新长度属性
所以["b"]
你有一个数组。 ["b"].push("a")
,是的,现在是["b", "a"]
,但由于您没有分配它,因此您将获得push
调用的结果,即新的长度,2。您可以分配它分开:
var j = ["b"];
j.push("a");
console.log(j);
或使用.concat
返回一个新数组,该数组由调用它的数组组成,并与作为参数提供的数组和/或值连接。
var j = ["b"].concat("a");
console.log(j);
答案 1 :(得分:1)
push()方法将新项添加到数组的末尾,并返回新的长度。
var j = ["b"].push("a");
console.table(j); // return 2
// this is correct