栗:
var a = {'1':'gg','2':'love','4':'meimei',length:5};
var arr=[.. .a];
console.log(arr);
Google Chrome でエラーが報告されました: Uncaught TypeError: a[Symbol.iterator] は関数ではありません
配列のような定義:/a/11...
「...」に関する JavaScript 入門ドキュメント: https://developer.mozilla.org...
公式 JavaScript ドキュメントには、「...」はクラス配列を配列に変換できると記載されていますが、それでもエラーが報告されるのはなぜですか?混乱!
伊谢尔伦2017-06-30 09:57:43
まず投稿した記事をよく読んでください。
なぜ「配列風」と呼ばれるかというと、「配列」に似ているからです。配列メソッドを直接使用することはできませんが、配列に似たメソッドは配列と同様に使用できます。
配列メソッドを直接使用することはできません。拡張ステートメントを直接使用していませんか?
最初にクラス配列を配列に変換する必要があります。記事で紹介されているメソッドを使用できます Array.prototype.slice.call(arguments)
ES6 にもメソッドがあります Array.from(arrayLike)
習慣沉默2017-06-30 09:57:43
ぜひご利用くださいArray.from()
英語のページを見ると、展開されたオブジェクトがトラバース可能である必要があることがわかります
反復可能のみ
Spread 構文は反復可能なオブジェクトにのみ適用できます:
リーリー