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

在JavaScript中如何提取JSON对象指定字段为数组,效率优于for循环?

从JSON对象提取指定字段数组的高效实现方案

你可以用JavaScript内置的高阶函数实现需求,这类方法由JS引擎底层优化实现,执行效率普遍高于手动编写的JS层for循环,同时代码更简洁易读:

方案1:Object.values() + map 实现(写法最简洁)

先提取所有球员数据对象,再分别映射得到两个数组:

// 提取所有球员对象数组
const playerList = Object.values(jsonList);
// 提取姓名数组
const names = playerList.map(item => item.Name);
// 提取得分数组,同步转换为数字类型
const runs = playerList.map(item => Number(item.Runs));

方案2:reduce 单次遍历实现(性能最优)

仅遍历一次数据就得到两个数组,适合数据量较大的场景,性能比两次map更高:

const [names, runs] = Object.values(jsonList).reduce((result, current) => {
  result[0].push(current.Name);
  result[1].push(Number(current.Runs));
  return result;
}, [[], []]);

以上两种方案得到的结果和你预期的完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 04:09:02