2014-08-28 136 views
-9

为什么这会返回1?为什么[] .push([])返回1?

[].push([]); // outputs 1 
+7

因为'.push()'返回阵列的新长度。你可以尝试'[] .push([],[],[])'以确保 – Evgeniy 2014-08-28 12:07:35

+0

更好的问题是“push方法返回什么”。答案是“代表新长度的整数”。 – 2014-08-28 12:08:40

+1

阅读[引用优先](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push),然后询问。特别是如果你真的好奇。 – Fedor 2014-08-28 12:09:04

回答

7

.push()返回数组的新长度。

['one'].push('two'); // returns 2 (array length is 2) 
['one', 'two'].push('something'); // returns 3 (array length is 3) 

在你的情况:

[].push([]); // array length is 1 where you get array within array. [[]]