JavaScript - クラス配列を配列に変換する es6 の問題
扔个三星炸死你
扔个三星炸死你 2017-06-30 09:55:43
0
3
729

栗:
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 ドキュメントには、「...」はクラス配列を配列に変換できると記載されていますが、それでもエラーが報告されるのはなぜですか?混乱!

扔个三星炸死你
扔个三星炸死你

全員に返信(3)
伊谢尔伦

まず投稿した記事をよく読んでください。

なぜ「配列風」と呼ばれるかというと、「配列」に似ているからです。配列メソッドを直接使用することはできませんが、配列に似たメソッドは配列と同様に使用できます。

配列メソッドを直接使用することはできません。拡張ステートメントを直接使用していませんか?

最初にクラス配列を配列に変換する必要があります。記事で紹介されているメソッドを使用できます Array.prototype.slice.call(arguments)

ES6 にもメソッドがあります Array.from(arrayLike)

いいねを押す +0
習慣沉默

ぜひご利用くださいArray.from()

英語のページを見ると、展開されたオブジェクトがトラバース可能である必要があることがわかります

反復可能のみ

Spread 構文は反復可能なオブジェクトにのみ適用できます:

リーリー
いいねを押す +0
滿天的星座

ES6 には非常に多くの新機能がありますが、ブラウザーにそれらすべてが実装されると思いますか?

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート