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

如何遍历JS对象数组生成指定结构的嵌套键值对对象?

实现方案

你之前用数组push方法得到的结果不符合预期,是因为目标结构是对象类型,而非数组,直接操作对象属性即可实现需求。

基础循环实现(兼容性好、可读性高)

const scores = [ {score: 500}, {variant_id: 600} ];
// 初始化结果结构
const res = { nums: {} };

for (const item of scores) {
  // 提取当前对象的第一个属性值作为键
  const key = Object.values(item)[0];
  res.nums[key] = 0;
}

console.log(res); // 输出:{nums: {500: 0, 600: 0}}

reduce精简实现

const scores = [ {score: 500}, {variant_id: 600} ];
const res = {
  nums: scores.reduce((prev, curr) => {
    prev[Object.values(curr)[0]] = 0;
    return prev;
  }, {})
};

注意

如果数组内的对象属性名是固定的,你也可以直接指定属性名取值,比如item.score、item.variant_id,不需要用Object.values做兼容处理。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 19:45:00