不使用循环创建指定长度的数组,且使数组中的元素等于当前索引值。
迭代器介绍:
迭代器是ES6提出的新规范,在ES6中只有实现迭代器才能使用for of进行遍历。在遍历时会调用next方法,next方法返回{ value: ##, done: true/false }对象,每次迭代都会拿出value,且当done为true时代表迭代已完成。实现此题可根据此特质进行实现。代码如下:
function createArray(length) {
const self = {}
self[Symbol.iterator] = function () {
let i = 0;
return {
next: function () {
return {
value: i++,
done: i > length
}
}
}
}
return self;
}
使用方法如下:
// ...会自动调用迭代器
const arr = [...createArray(5)];
console.log(arr);