Maison > interface Web > js tutoriel > le corps du texte

Exemple de code expliquant l'interface Iterator dans ES6

不言
Libérer: 2018-10-29 15:18:20
avant
1945 Les gens l'ont consulté

Le contenu de cet article concerne les exemples de code de l'interface Iterator dans ES6. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Dans es6, lors de l'exploitation de certaines structures de données (ensemble de cartes d'objets de tableau), comment opérer dans une méthode unifiée ? L'interface Iterator implémente une telle fonction

1 . Application de l'itérateur dans les tableaux

{
    let arr = ['hello', 'world'];
    // 数组内部实现了iterator接口,所以直接调用[Symbol.iterator]()
    let map = arr[Symbol.iterator]();
    console.log(map.next()); // {value: "hello", done: false}
    console.log(map.next()); // {value: "world", done: false}
    console.log(map.next()); // {value: undefined, done: true}
    // value 表示数组元素,done表示循环是否有下一步状态,true:没有下一步了,false:循环没有结束
}
Copier après la connexion
Copier après la connexion

2.interface d'itérateur personnalisée

{
    // object没有内置iterator接口,自定义iterator接口,让obj也可以使用for...of
    let obj = {
        start: [1,2,3],
        end: [4,5,6],
        // 声明iterator接口方法
        [Symbol.iterator]() {
            // 先遍历start,再遍历end
            let arr = this.start.concat(this.end);
            let index = 0;
            // 返回next()
            return {
                next() {
                    if (index <p><strong>3.pour...de boucle</strong></p><pre class="brush:php;toolbar:false">{
    // 数组内部实现了iterator接口,所以可以直接使用for...of循环
    let arr = ['hello', 'world'];
    for (let value of arr) {
        console.log(value); // hello world
    }
}
Copier après la connexion








【ES6 Getting Started 13】 : Itérateur

Exemple de code expliquant l'interface Iterator dans ES6Front-end

es6

javascript

14 fois en lecture                                                              La lecture prend 6 minutes                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 

Dans es6, lors de l'exploitation de certaines structures de données (ensemble de cartes d'objets tableau), comment opérer dans une méthode unifiée ? L'interface Iterator implémente une telle fonction


1. Application de l'itérateur dans les tableaux


2.Interface d'itérateur personnalisée

3 .pour. ..de boucle                                                                                       🎜>


{
    let arr = ['hello', 'world'];
    // 数组内部实现了iterator接口,所以直接调用[Symbol.iterator]()
    let map = arr[Symbol.iterator]();
    console.log(map.next()); // {value: "hello", done: false}
    console.log(map.next()); // {value: "world", done: false}
    console.log(map.next()); // {value: undefined, done: true}
    // value 表示数组元素,done表示循环是否有下一步状态,true:没有下一步了,false:循环没有结束
}
Copier après la connexion
Copier après la connexion

{
    // object没有内置iterator接口,自定义iterator接口,让obj也可以使用for...of
    let obj = {
        start: [1,2,3],
        end: [4,5,6],
        // 声明iterator接口方法
        [Symbol.iterator]() {
            // 先遍历start,再遍历end
            let arr = this.start.concat(this.end);
            let index = 0;
            // 返回next()
            return {
                next() {
                    if (index Vous pourriez être intéressé<p><strong></strong></p><pre class="brush:php;toolbar:false">{
    // 数组内部实现了iterator接口,所以可以直接使用for...of循环
    let arr = ['hello', 'world'];
    for (let value of arr) {
        console.log(value); // hello world
    }
}
Copier après la connexion

  • Exemple de code expliquant l'interface Iterator dans ES6

  • Commentaires
  •                                                                                Trier par heure


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!