我是靠谱客的博主 积极时光,最近开发中收集的这篇文章主要介绍let 连续复制_ES6 Iterator接口和for...of循环用法分析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文实例讲述了ES6 Iterator接口和for...of循环用法。分享给大家供大家参考,具体如下:

// 数组已经帮我们内置这个Iterator接口

let arr = ['hello','world'];

let map = arr[Symbol.iterator](); // 数组直接调用iterator接口,返回一个对象map

console.log(map.next()); // {value: "hello", done: false} done:循环没有下一步状态:true没有,false:有状态,循环并没有结束

console.log(map.next()); // {value: "world", done: false}

console.log(map.next()); // {value: undefined, done: true}

运行结果:

c43126bb16ab9c2ce84e165f2a6b90a4.png

for...of循环,就是不断的调用Iterator接口。

object数据结构没有实现Iterator接口。

自定义实现object的Iterator接口

let obj ={

start: [1,5,7],

end:[8,4,3],

[Symbol.iterator](){

let self = this;

let index = 0;

let arr = self.start.concat(self.end);

let len = arr.length;

return {

next(){

if(index

return{

value:arr[index++],

done:false

}

}else{

return {

value:arr[index++],

done:true

}

}

}

}

}

}

for(let key of obj){ // for...of 背后用的就是iterator接口

console.log(key); // 1 5 7 8 4 3

}

运行结果:

94dd0428ac16e7407be8294b699d4762.png

let arr = ['xixiaoxian','jamin'];

for(let value of arr){

console.log(value); // xixiaoxian jamin

}

运行结果:

dc1abdc628767589002d9222e070177a.png

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。

更多关于JavaScript相关内容可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

最后

以上就是积极时光为你收集整理的let 连续复制_ES6 Iterator接口和for...of循环用法分析的全部内容,希望文章能够帮你解决let 连续复制_ES6 Iterator接口和for...of循环用法分析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部