es6中通过(iterator)接口遍历对象中所需要的属性值

es6中iterator

es6使用iterator结合for....of循环获取一个对象中需要的值

for...in循环和for...of循环的区别
  • for...in循环得到的是属性名,for...of得到的是属性值

  • for...in

const test = ['boyyang', '18', 'man']

for (const key in test) {
    console.log(key)
}

//结果: 0 1 2
  • for...of
test = ['boyyang', '18', 'man']
for (const item of test) {
    console.log(item)
}

// 结果: boyyang  18 man

iterator

const test = {
    name: "boyyang",
    age: "18",
    skills: [
        "html",
        "css",
        "js",
        "jquery",
        "vue"
    ],
    [Symbol.iterator]: function () {
        let index = 0
        return {
            next: () => {
                if (index < this.skills.length) {
                    let result = {
                        value: this.skills[index],
                        done: false
                    }
                    index++
                    return result
                }else{
                    return {
                        value: undefined,
                        done: true
                    }
                }

            }
        }
    }
}

for (const item of test) {
    console.log(item)
}
// 结果: html css js jquery  vue
posted @ 2020-08-23 12:37  boyyang  阅读(415)  评论(0编辑  收藏  举报
//黑猫咪:https://unpkg.com/live2d-widget-model-hijiki@1.0.5/assets/hijiki.model.json //白猫咪:https://unpkg.com/live2d-widget-model-tororo@1.0.5/assets/tororo.model.json //萌娘:https://unpkg.com/live2d-widget-model-shizuku@1.0.5/assets/shizuku.model.json //狗狗:https://unpkg.com/live2d-widget-model-wanko@1.0.5/assets/wanko.model.json //萌妹1号:https://unpkg.com/live2d-widget-model-z16@1.0.5/assets/z16.model.json //萌妹2号:https://unpkg.com/live2d-widget-model-koharu@1.0.5/assets/koharu.model.json //萌妹3号:https://unpkg.com/live2d-widget-model-hibiki@1.0.5/assets/hibiki.model.json //妹子4号:https://unpkg.com/live2d-widget-model-izumi@1.0.5/assets/izumi.model.json //妹子5号:https://unpkg.com/live2d-widget-model-miku@1.0.5/assets/miku.model.json //6号:https://unpkg.com/live2d-widget-model-nico@1.0.5/assets/nico.model.json //7号:https://unpkg.com/live2d-widget-model-ni-j@1.0.5/assets/ni-j.model.json //8号:https://unpkg.com/live2d-widget-model-nipsilon@1.0.5/assets/nipsilon.model.json //9号:https://unpkg.com/live2d-widget-model-nito@1.0.5/assets/nito.model.json //10号:https://unpkg.com/live2d-widget-model-tsumiki@1.0.5/assets/tsumiki.model.json //11号:https://unpkg.com/live2d-widget-model-unitychan@1.0.5/assets/unitychan.model.json //帅哥1号:https://unpkg.com/live2d-widget-model-chitose@1.0.5/assets/chitose.model.json //帅哥2号:https://unpkg.com/live2d-widget-model-haruto@1.0.5/assets/haruto.model.json