繁体   English   中英

为什么push方法在这种情况下不起作用:[]。push

[英]Why the push method doesn't work in this case : [].push

我想在数组声明中直接使用函数push() ,但它无法正常工作。 在我的示例中,我的数组返回值2

 var j = ["b"].push("a"); document.write(j); // return 2 

为什么我的数组返回值2而不是["b", "a"]

.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);

push()方法将新项添加到数组的末尾,并返回新的长度。

 var j = ["b"].push("a"); console.table(j); // return 2 // this is correct 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM