如果你只想遍历对象自身的属性,可以使用Object.prototype.hasOwnProperty.call()方法来检查属性是否是对象自身的。 区别 for...of用于遍历可迭代对象的值,而for...in用于遍历对象的可枚举属性。 for...of更适用于数组、字符串、Map、Set 等可迭代对象,而for...in更适用于对象的属性遍历。 for...in还会遍历对...
ES6 中引入了 Iterator,只有提供了 Iterator 接口的数据类型才可以使用 for-of 来循环遍历,而 Array、Set、Map、某些类数组如 arguments 等数据类型都默认提供了 Iterator 接口,所以它们可以使用 for-of 来进行遍历。 而对于普通的对象,for...of结构不能直接使用,会报错,提示obj is not iterable,也就是说普通对...
2.数组天生就可以调用Symbol.iterator 方法,生成可遍历对象,所以是原生可遍历;普通对象天生不能调用Symbol.iterator 方法,可以通过自己添加这个方法,达到可遍历,所以通过添加的方式后就是非原生可遍历 3.只要可遍历,就可以使用 for...of 循环来对其统一遍历(该数据调用Symbol.iterator 方法返回可遍历对象,这个对象可以...
for (let i of arr) { console.log(i) // 1,2,3,4,5 } 1. 2. 3. 4. 注意:遍历对象会报错 虽然for…in…,for…of…都能遍历数组,但是两者的区别还是有的, 1)推荐在循环对象的时候用for…in…,遍历数组的时候用for…of…。 2)for in 循环出来的是key,for of 循环出来的是value。 3)for i...
es6 遍历修改对象 es6对象循环 作者:我是段段 在之前,有很多方法可以遍历数组和对象 最经典的就是for循环,它可以遍历数组或者有索引且具有length属性的对象 // 遍历数组 let arr = [1, 2, 3] for (var i = 0; i < arr.length; i++) {
Iterator 的作用有三个:一是为各种数据结构,提供一个统一的、简便的访问接口;二是使得数据结构的成员能够按某种次序排列;三是 ES6 创造了一种新的遍历命令for...of循环,Iterator 接口主要供for...of消费。 Iterator 的遍历过程是这样的。 (1)创建一个指针对象,指向当前数据结构的起始位置。也就是说,遍历器对象...
2、使用for-of遍历set对象: consts=newSet(["foo","bar","baz"]);for(constitemofs){console.log(item);//foo, bar, baz} 3、使用for-of遍历Map对象: constm=newMap();m.set("foo",1);m.set("bar",2);for(const[key,value]ofm){console.log(key,value);//foo 1 bar 2} ...
在es6中通用的遍历方法 for...of 1、遍历数组 2、遍历字符串 3、遍历 nodeList 标签节点 4、遍历set 5、遍历map 6、循环对象 对象没有 i...
ES6 引入了一个新的 for...of 语句,它遍历一个可迭代的对象,例如: 内置Array , String , Map , Set , ... 类似数组的对象,例如参数或 NodeList 实现迭代器协议的用户定义对象。 下面说明了 for...of 的语法: for (variable of iterable...
一,for-of 可遍历的集合 1,数组 2,字符串 3,伪数组(很多类似数组的对象)(需要部署部署数组的Symbol.iterator方法) let iterable = { 0: 'a', 1: 'b', 2: 'c', length: 3, [Symbol.iterator]: Array.prototype[Symbol.iterator] }; for (let item of iterable) { ...