JavaScript 如何将迭代器转换为数组
任务是将迭代器转换为数组,可以通过迭代迭代器的每个值,并将该值存储在另一个数组中来完成。
以下是将迭代器添加到数组的几种方法:
- 使用Symbol iterator属性
- 使用Array.from方法
- 使用Spread Operator
方法1:使用Symbol iterator属性
为数组创建一个迭代器。
const it = array[Symbol.iterator]();
所以,首先,我们为名为“array”的数组创建一个名为“it”的迭代器。创建迭代器后,我们遍历迭代器中存储的每个值,并使用以下代码将其推入另一个名为“p”的数组中。
p.push(word)
在这里,”word”是与迭代器中存储的元素数组相对应的值。在迭代每个元素后,我们得到最终的数组,其中迭代器的所有值都存储在p中。
示例: 在这个例子中,我们将把一个JavaScript迭代器转换成一个JavaScript数组。
const array = ['Geeks', 'for', 'Geeks'];
let p = []
const it = array[Symbol.iterator]();
console.log(it);
for (let word of it) {
p.push(word)
}
console.log("After the conversion the array becomes");
console.log(p);
输出
Object [Array Iterator] {}
After the conversion the array becomes
[ 'Geeks', 'for', 'Geeks' ]
方法2:使用Array.from方法
我们可以通过使用array.from()方法将JavaScript迭代器转换为JavaScript数组。
示例:
const array = ['Geeks', 'for', 'Geeks'];
const mp = array.map(function (val) {
return val;
})
const it = mp.entries();
console.log(it)
let newArr=[];
newArr = Array.from(it);
console.log(newArr);
输出
Object [Array Iterator] {}
[ [ 0, 'Geeks' ], [ 1, 'for' ], [ 2, 'Geeks' ] ]
方法3:使用扩展运算符
我们可以通过使用扩展运算符方法将JavaScript迭代器转换为JavaScript数组
示例:
const array = ['Geeks', 'for', 'Geeks'];
const mp = array.map(function (val) {
return val;
})
const it = mp.entries();
console.log(it)
const newArr = [...it];
console.log(newArr);
输出
Object [Array Iterator] {}
[ [ 0, 'Geeks' ], [ 1, 'for' ], [ 2, 'Geeks' ] ]