検索

ホームページ  >  に質問  >  本文

JavaScript - クラス配列を配列に変換する es6 の問題

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

扔个三星炸死你扔个三星炸死你2761日前750

全員に返信(3)返信します

  • 伊谢尔伦

    伊谢尔伦2017-06-30 09:57:43

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

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

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

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

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

    返事
    0
  • 習慣沉默

    習慣沉默2017-06-30 09:57:43

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

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

    反復可能のみ

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

    リーリー

    返事
    0
  • 滿天的星座

    滿天的星座2017-06-30 09:57:43

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

    返事
    0
  • キャンセル返事