提取数组对象指定字段至新数组,如何移除for循环优化代码?
移除for循环提取数组对象字段的优化方案
当然有办法!你可以直接用JavaScript数组的map()方法来替代手动编写的for循环,代码更简洁,同时性能表现也很出色。
优化后的代码
const groupFieldNames = data.map(item => item.groupFieldName);
原理说明
map()是数组的内置方法,它会遍历数组中的每一个元素,对每个元素执行你指定的回调函数(这里就是提取groupFieldName字段),然后自动将所有回调函数的返回值收集成一个新数组返回。完全不需要手动初始化数组、控制循环索引和调用push()方法,逻辑更清晰。
性能测试反馈
我采纳了@Yosvel Quintero的建议(他是首个提出map方案的人),并针对这个方案做了性能测试:在包含约60k个对象的data数组中,使用map()方法仅耗时3ms,而原来的for循环耗时11ms,优化效果非常显著。
内容的提问来源于stack exchange,提问作者Oiproks
相关产品推荐
相关产品推荐

