recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - problème es6 de conversion d'un tableau de classes en tableau

Châtaigne :
var a = {'1':'gg','2':'love','4':'meimei',length:5};
var arr=[...a];
console .log(arr);

Erreur signalée sous Google Chrome : Uncaught TypeError : a[Symbol.iterator] n'est pas une fonction

Définition de type tableau :/a/11...

Documentation d'introduction Javascript sur '...' : https://developer.mozilla.org...

La documentation officielle JavaScript indique que '...' peut convertir un tableau de classe en tableau. Pourquoi signale-t-il toujours une erreur ? embrouiller!

扔个三星炸死你扔个三星炸死你2761 Il y a quelques jours748

répondre à tous(3)je répondrai

  • 伊谢尔伦

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

    Vous devriez d’abord lire attentivement l’article que vous avez publié.

    La raison pour laquelle on l'appelle « array-like » est parce qu'il est similaire à « array ». Vous ne pouvez pas utiliser directement les méthodes matricielles, mais vous pouvez utiliser des méthodes de type tableau, tout comme les tableaux.

    Vous ne pouvez pas utiliser directement la méthode array. Votre instruction d'extension n'est-elle pas utilisée directement ?

    Vous devez d'abord convertir le tableau de classe en tableau, vous pouvez utiliser la méthode présentée dans l'article Array.prototype.slice.call(arguments)

    ES6 a aussi une méthode, Array.from(arrayLike)

    répondre
    0
  • 習慣沉默

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

    Veuillez utiliser Array.from()

    Si vous regardez la page en anglais, vous constaterez que l'objet développé doit être traversable

    Uniquement pour les itérables

    La syntaxe Spread ne peut être appliquée qu'aux objets itérables :

    var obj = {'key1': 'value1'};
    var array = [...obj]; // TypeError: obj is not iterable

    répondre
    0
  • 滿天的星座

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

    ES6 a tellement de nouvelles fonctionnalités, attendez-vous à ce que le navigateur les implémente toutes ?

    répondre
    0
  • Annulerrépondre