ES6遍历所有数据结构的统一的方法:for...of循环
1. Array:const arr = [1, 2, 4, 6];for (const item of arr) {console.log(item);}输出:2. Set:const s = new Set([1, 3]);console.log(s);for (const item of s) {console.log(item);}输出:3. Map:const m = new Map()
·
1. Array:
const arr = [1, 2, 4, 6];
for (const item of arr) {
console.log(item);
}
输出:
2. Set:
const s = new Set([1, 3]);
console.log(s);
for (const item of s) {
console.log(item);
}
输出:
3. Map:
const m = new Map();
m.set('name', 'Jack');
m.set('age', 18);
// for (const item of m) {
// console.log(item);
// }
for (const [key, value] of m) {
console.log(key, value);
}
输出:
4. Object:
对于普通的对象,for...of结构不能直接使用,会报错,必须部署了 Iterator 接口后才能使用。
普通对象使用for...of:
const obj = {
name: 'Jack',
age: 18
};
for (const item of obj) {
console.log(item);
}
报错:TypeError: obj is not iterable。
部署了 Iterator 接口的对象使用for...of:
const obj = {
store: [1, 2, 3],
[Symbol.iterator]: function () {
let index = 0;
const _self = this;
return {
next() {
const result = {
value: _self.store[index],
done: index >= _self.store.length
};
index++;
return result;
}
}
}
}
for (const item of obj) {
console.log(item);
}
输出:

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)