亂搞了一些JavaScript,我認爲應該產生一個錯誤,按預期工作。 [].join()
似乎變平任何深度的嵌套數組。爲什麼Array.prototype.join()壓扁任何深度的數組?
var arr = [['a'], ['b'], ['c']];
arr.join('-'); // => 'a-b-c'
甚至var arr = [['a'], [[[[[[[[['b']]]]]]]]], ['c']];
返回與上述完全相同的結果。
這是特別奇怪,因爲它返回一個對象的預期(錯誤)的行爲:
var arr = [{}, {}, {}];
arr.join('-'); // => '[object Object]-[object Object]-[object Object]'
好奇,如果這是最新的鉻(53.0.2785.116)的特徵,意,或一個錯誤?
[_將數組的元素轉換爲字符串,然後將這些字符串連接起來,並通過分隔符的出現來分隔._](http://www.ecma-international.org/ecma-262/5.1/#仲15.4.4.5) – Tushar