摘要:什么是中这种数据对象这样就需要一种统一的接口机制来处理所有不同的数据结构作用为各种数据结构提供一个同一的简便的数据接口使得数据结构的成员按照某种次序排列新增了循环来遍历就是通过不断的来访问值手写返回一个包含和属性的对象数组字符串天生具备遍历
什么是iterator
es6中map set arr obj 这4种数据对象 这样就需要一种统一的接口机制来处理所有不同的数据结构
作用:
1、为各种数据结构提供一个同一的、简便的数据接口
2、使得数据结构的成员按照某种次序排列
3、es6 新增了 for..of循环 来遍历iterator
iterator就是通过不断的next来访问值{value:value}
手写iteratorvar arr=[1,2,3] function iterator(arr) { let index=0; return { next:function () { return index数组 set map 字符串 天生具备iterator遍历器接口
检测一个数组解构是否天生就具有iterator?是否具有Symbol.iterator属性
var arr1=[1,2,3]; var set1=new Set(["a","b","c"]) var map1=new Map([["a",1],["b",2]]) //一定要正确的定义Map var str="sasa"; var ai=arr1[Symbol.iterator](); var si=set1[Symbol.iterator](); var mi=map1[Symbol.iterator](); console.log(ai,si,mi) //就会返回数组、集合、map的遍历器接口 console.log(str[Symbol.iterator]()) 字符串的遍历器接口但是object是没有Symbol.iterator这个属性的
var obj={}; console.log(obj[Symbol.iterator]()) //报错具备iterator接口的集合都能够进行哪些操作1、解构赋值
2、扩展运算符 ...将一个数据结构展开var str="sasa"; var arrstr=[...str]; console.log(arrstr)利用这个原理实现数组去重
var arrchong=[1,2,3,1,1,3,34,4,1]; console.log([...(new Set(arrchong))])3、都可以是用for of循环
var arrchong=[1,2,3,1,1,3,34,4,1]; for(let i of arrchong){ console.log(i) }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/88699.html
摘要:也就是说,遍历器对象本质上,就是一个指针对象。执行这个函数,就会返回一个遍历器。一个对象如果要有可被循环调用的接口,就必须在的属性上部署遍历器生成方法原型链上的对象具有该方法也可。后面跟的是一个可遍历的结构,它会调用该结构的遍历器接口。 ES6 Iterator笔记(摘抄至阮一峰的ECMAScript 6入门) Iterator的遍历过程 创建一个指针对象,指向当前数据结构的起始位...
摘要:像和使用内置构造函数所创建的对象都会继承自和的不可枚举属性,例如的方法或的方法。循环将遍历对象本身的所有可枚举属性,以及对象从其构造函数原型中继承的属性更接近原型链中对象的属性覆盖原型属性。遍历数组时推荐使用,其中为数组每一项的值。 引言 在对数组或对象进行遍历时,我们经常会使用到两种方法:for...in 和 for...of,那么这两种方法之间的区别是什么呢?让我们来研究研究。 一...
摘要:也就是说,遍历器对象本质上,就是一个指针对象。规定,默认的接口部署在数据结构的属性,或者说,一个数据结构只要具有属性,就可以认为是可遍历的属性本身是一个函数,就是当前数据结构默认的遍历器生成函数。执行这个函数,就会返回一个遍历器。 for...in遍历对象的属性或数组索引(ES5) eg1:遍历数组 var arr=[a,b,c,d]; for(let index in...
摘要:一个对象如果要有可被循环调用的接口,就必须在的属性上部署遍历器生成方法原型链上的对象具有该方法也可。阮大神案例上面代码是一个类部署接口的写法。属性对应一个函数,执行后返回当前对象的遍历器对象。 最近看阮一峰阮大神的ES6,刚刚看到Iterator和for...of循环这一章,小作笔记跟大家略微分享一下,不足之处还望大家多多指正 Iterator(遍历器)就是一种机制;任何数据结构只要是...
阅读 3828·2021-09-24 10:24
阅读 1360·2021-09-22 16:01
阅读 2677·2021-09-06 15:02
阅读 995·2019-08-30 13:01
阅读 986·2019-08-30 10:52
阅读 606·2019-08-29 16:36
阅读 2213·2019-08-29 12:51
阅读 2314·2019-08-28 18:29