gpt4 book ai didi

javascript - 将 ES5 数组方法与 ES6 生成器一起使用

转载 作者:数据小太阳 更新时间:2023-10-29 04:05:14 25 4
gpt4 key购买 nike

在 ES6 生成器中使用新的 ES5 数组函数的正确方法是什么?我是否必须先将可迭代对象显式转换为数组,还是有更好的方法?例如:

function* range(low, high) {
var i = low;
while(i < high)
yield i++;
}

// Sum of numbers in range, doesn't work
console.log(range(0, 10).reduce((x,y) => x + y));

最佳答案

生成器函数返回 Iterator对象。 Iterator API 不包括高阶数组方法,例如 mapreduce 等,因此您需要构建一个中间数组(或使用类似 wu.js 的库)。

您可以使用 spread operator从(有限)迭代器简洁地构建一个数组:

var sum = [...range(0, 10)].reduce((e, i) => e + i)

关于javascript - 将 ES5 数组方法与 ES6 生成器一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28541039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com