[ES2024] Make JavaScript computations lazy using Iterator Helpers

You no longer need to write generator functions to create basic lazy iterator functions.

Now, ECMAScript supports iterator helpers that you can call on Array.values(). With these helpers, the values of an array will be operated on lazily, and will only run when the values are needed.

 

Previously:

function* lazyMap(iterable, mapperFn) {
  for (let item of iterable) {
    yield mapperFn(item)
  }
}

var arr = [1,2,3,4,5]
var iter = lazyMap(arr, x => x **2)

console.log([...iter]) // [1, 4, 9, 16, 25]

 

With helper: values()

var arr = [1,2,3,4,5]
var iter = arra.values().map(x => x **2)

console.log([...iter])

 

Why use lazy iterator?

If the array size if huge, when you do .map, .filter, .reduceyou have to read the whole array and also copy a new array... with iterator, we can read whenever when you need it.

posted @   Zhentiw  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2023-05-22 [Chrome Ext] WebRequest blocking v2
2023-05-22 [React Typescript] Extracting Props from Custom Components
2023-05-22 [React Typescript] Overriding and Removing Component Props
2023-05-22 [React Typescript] Useful React Prop Type Examples
2017-05-22 [Http] Understand what an HTTP Request is
2016-05-22 [io PWA] keynote: Launching a Progressive Web App on Google.com
2016-05-22 [PWA] 18. Clean the photo cache
点击右上角即可分享
微信分享提示