2014-08-28 284 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. [[]]