You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

百万条数据场景下,快速生成指定格式名称数组的最优方案

最快的实现方案

对于百万级别的数据量,原生普通for循环+预分配数组长度是性能最优的方案,它能避免forEach/map这类方法带来的函数调用开销,同时预分配长度减少了数组动态扩容的内存操作损耗。

实现代码

const len = result.length;
const nameArray = new Array(len); // 预分配数组长度
for (let i = 0; i < len; i++) {
  nameArray[i] = { name: result[i].name };
}

为什么这个方案更快?

  • 预分配数组长度:new Array(len)直接创建指定长度的数组,避免了push操作时数组多次扩容的性能消耗。
  • 普通for循环:相比forEach和map,没有每次迭代的函数调用栈开销,是JavaScript中遍历数组性能最高的方式。

额外优化尝试

如果你的运行环境支持ES6解构赋值,也可以尝试以下写法(性能略逊于上面的方案,但代码更简洁):

const len = result.length;
const nameArray = new Array(len);
for (let i = 0; i < len; i++) {
  const { name } = result[i];
  nameArray[i] = { name };
}

内容的提问来源于stack exchange,提问作者pewpewlasers

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 03:15:32