用 ES6 生成器实现 range 的方法
昨天想了个小练习,有空可以消遣一下。涉及 ES6 generator 的一些姿势,写起来应该挺好玩的。
任务:实现 range 迭代器,可以遍历数组或者对象的键值。
行为如下:
let o = {a: 1, b: 2, c: 3};
for(let [k, v] of range(o)) {
console.log(`${k} => ${v}`);
}
/*
Output:
a => 1
b => 2
c => 3
*/
let a = [1, 2, 3];
for(let [i, v] of range(a)) {
console.log(`${i} => ${v}`);
}
/*
Output:
0 => 1
1 => 2
2 => 3
*/
参考资料
中文
讨论群
微信加我好友 (hayeah666),我拉你入讨论群。