いくつかのJavaScriptを使いこなしていて、意図した通りにうまくいかなくなったと思われるものがありました。 [].join()
は、任意の深さのネストされた配列を平坦化しているようです。Array.prototype.join()は深さの配列を平坦化するのはなぜですか?
さらに、var arr = [['a'], [[[[[[[[['b']]]]]]]]], ['c']];
も上記と全く同じ結果を返します。
それはオブジェクトとの予想(誤った)行動を返しますので、特に奇数である:これは、最新のクロム(53.0.2785.116)、意図、またはバグの特徴である場合
var arr = [{}, {}, {}];
arr.join('-'); // => '[object Object]-[object Object]-[object Object]'
興味を?起こる最初の要素は文字列に強制されることで、接合されています配列内の各要素について
(http://www.ecma-international.org/ecma-262/5.1/# [配列の_The要素が文字列に変換され、これらの文字列は、その後連結され、separator._の出現によって分離]秒-15.4.4.5) – Tushar