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

如何用JavaScript将JSON数组转换为键值对形式的新对象?

可行!将露营地数组转换为键值对对象的实现方法

完全可以实现这个转换,核心是把数组中的每个露营地对象,以其Name属性作为键,重新组织成对象结构。以下是两种常用的实现方式:

方法一:使用Array.reduce()(推荐,更简洁)

假设你已经通过JSON.parse()或者异步请求解析得到了原始JSON数据(记为originalData),可以用reduce快速转换:

// 原始解析后的JSON数据
const originalData = {
  "Campgrounds": [
    /* 你的露营地数组内容 */
  ]
};

// 转换为目标结构
const transformedData = {
  Campgrounds: originalData.Campgrounds.reduce((acc, campground) => {
    // 以露营地名称作为键,存入对象
    acc[campground.Name] = campground;
    return acc;
  }, {}) // 初始值为空对象
};

方法二:使用Array.forEach()(逻辑更直观)

如果更习惯循环写法,也可以用forEach遍历数组并构建新对象:

const transformedData = { Campgrounds: {} };

originalData.Campgrounds.forEach(campground => {
  transformedData.Campgrounds[campground.Name] = campground;
});

注意事项

  • 如果原始数组中存在重复的露营地名称,后面的对象会覆盖前面的,所以确保Name属性的唯一性很重要。
  • 在浏览器环境中,你可以通过fetch或XMLHttpRequest读取JSON文件并解析;在Node.js环境中,可使用fs.readFileSync/fs.readFile配合JSON.parse完成读取解析。

内容的提问来源于stack exchange,提问作者displayName is undefined

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 10:45:37