Iteratable object and class arrays

Climb up step by step 2021-09-15 08:21:48
iteratable object class arrays


Iteratable object

Realized Iterator Data structure of the interface , Deployed Symbol.Iterator object

Traverse
  • while loop

    /** ITERABLE Represents some kind of traversable data structure ,$iterator Is its iterator object .
    Each time the traverser object moves the pointer (next Method ), Check the return value done attribute , If the traversal is not over , Just move the pointer of the traverser object to the next step (next Method ), Keep cycling
    */
    var $iterator = ITERABLE[Symbol.iterator]();
    var $result = $iterator.next();
    while (!$result.done) {
     var x = $result.value;
     // ...
     $result = $iterator.next();
    }
     Copy code 
  • for...of

Convert to array
  • Extension operator

    Extension operator (...) For internal use for...of loop , So it can be used for iteratable objects

    let set = new Set().add('a').add('b').add('c');
    ['a', ...set, 'd'] // ["a", "a", "b", "c", "d"]
    ​
    let map = new Map().set('a', 1).set('b', 2);
    [...map] // [["a", 0], ["b", 1]]
     Copy code 
  • Array.from()

    Creates a new object similar to an array or iteratable object , Array instance of shallow copy

    let set = new Set().add('a').add('b').add('c');
    Array.from(set) // ["a", "b", "c"]
    ​
    let map = new Map().set('a', 1).set('b', 2);
    Arrary.from(map) // [["a", 0], [b", 1]]
     Copy code 

An array of class

There are numeric key names and length attribute

Traverse
Convert to array
  • Array.from(arrLike)

  • Array of slice Method + call/ apply

    let arrLike = {
     0: 'a',
     1: 'b',
     2: 'c',
     length: 3
    };
    ​
    // call change this The direction of
    Array.prototype.slice.call(arrLike)
    arrLike // ["a", "b", "c"]
    // perhaps
    [].slice.call(arrLike)
    arrLike // ["a", "b", "c"]
     Copy code 
版权声明
本文为[Climb up step by step]所创,转载请带上原文链接,感谢
https://qdmana.com/2021/09/20210909135431043C.html

  1. Progressive react source code analysis - Implementation of ref API
  2. Webpack5 learning -- code compression
  3. Front and back end data interaction (V) -- what is Axios?
  4. Knowledge points related to react routing
  5. On demand introduction of react antd + customized theme
  6. GPG management submission signature verification
  7. [babylonjs] babylonjs practice (XII) -- drawing lane lines
  8. After brushing the 12 sliding windows, you can tear the front end by hand
  9. Vue fruit bookkeeping - money.vue component
  10. Propriétés et méthodes des objets Array en javascript!,Pseudo - classes et pseudo - éléments pour CSS
  11. JS contains the function code
  12. Typescript record (I)
  13. Take you to learn more about nginx basic login authentication: generating passwords using OpenSSL
  14. Is componentization obsolete? Introduction to micro front end architecture
  15. Leetcode day 18
  16. Simple code to achieve a, 1W + people see the Mid Autumn Festival blessing
  17. Design pattern -- agent pattern
  18. Vs Code theme recommendation in 2021
  19. Mon expérience réelle dans l'externalisation Android à Huawei, préparation de l'entrevue de développement Android
  20. J'ai les questions et les réponses d'entrevue de développement d'octets de rêve et Tencent double offer, Android
  21. Fatal Magic: countless sacrifices under gorgeous magic
  22. Mon expérience d'entrevue principale est partagée avec l'expérience d'apprentissage
  23. Mon expérience d'entrevue Android de Tencent partage, plugin Android
  24. Partage de questions d'entrevue Java à double saut d'octets non - premier cycle, un article vous apprend à gérer l'entrevue réseau informatique,
  25. Questions d'entrevue CSS (notes)
  26. Syntaxe de base de la classe
  27. Héritage de classe
  28. Mise en œuvre simple de 30 minutes pour un filtrage rapide des chaînes de tableau 10W +.
  29. Vue 3 tri des documents démarrage rapide
  30. Collection de code de base JavaScript (1)
  31. National secret nginx Container actual Fighting
  32. Quelques lignes de css pour rendre votre page tridimensionnelle
  33. C'est super détaillé, de "finir" ce 300 pages de 1000 questions d'entrevue,
  34. Take you in-depth understanding of nginx basic login authentication (including all configuration steps and in-depth analysis)
  35. Après avoir mangé, assurez - vous d'augmenter votre salaire de 5K et de rester debout tard pour trier les questions d'entrevue Java de millet.
  36. Résumé des questions d'entrevue pour les entreprises Internet nationales de première ligne, qui doivent être posées lors de l'entrevue d'emploi Java de la grande usine en 2021,
  37. "L'amour à première vue", la nouvelle BMW 2 coupe réelle, vous êtes surpris?
  38. Questions d'entrevue de test avancé de Dachang, liste des compétences de base de l'entrevue Java,
  39. Tableau 2D trié par un champ
  40. JS est souvent utilisé pour déterminer si l'objet est vide
  41. Contrôle de l'arbre en vue converti en style de table
  42. CSS3 animation flash Effect
  43. Discuter des propriétés de la file d'attente pour l'événement bloc
  44. Node around USModules
  45. Webpack - - Premier aperçu (concept de base)
  46. Mise en œuvre du cadre de base mvvm par JS natif
  47. Calculer les propriétés par rapport aux auditeurs, etc.
  48. Configuration standard dockerfile et docker-composer.yml
  49. Collection de questions d'entrevue HTML
  50. Conteneur, définir la largeur et la hauteur ne répond pas?
  51. Introduction et syntaxe des objets (mise à jour à long terme)
  52. Bubble Mart invests in cat galaxy, which is a vertical e-commerce platform around the quadratic element
  53. Exigences et dépendances dans package-lock.json
  54. Mouvement tridimensionnel de la terre, du ciel et de la lune basé sur three.js
  55. Compréhension et analyse de l'objet de base JS
  56. Simple use of status data management (context, mobx, Redux)
  57. Simulated drumming
  58. Array method
  59. Performance optimization issue 03 - HTTP request optimization
  60. Talk about some moves used by vue3.0 in the project - External skill chapter (I)