JavaScript 如何将迭代器转换为数组

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' ] ]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程