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

如何将指定结构的对象转换为包含animal属性的数组?

解决方案

你已经用Object.entries()迈出了关键一步,接下来只需要用map()方法遍历返回的条目,将键和对应值重组为目标结构即可。

完整实现代码

const AnimalObj = {
  Cat: {
    value: 50
  },
  Dog: {
    value: 80
  }
};

// 核心转换逻辑
const animalArr = Object.entries(AnimalObj).map(([animal, { value }]) => ({
  animal,
  value
}));

console.log(animalArr);
// 输出结果:
// [ { animal: 'Cat', value: 50 }, { animal: 'Dog', value: 80 } ]

步骤解释

  1. Object.entries(AnimalObj):将原对象转换为二维数组,每个子数组格式为[键名, 对应子对象],即:
    [['Cat', { value: 50 }], ['Dog', { value: 80 }]]
    
  2. map()遍历处理:
    • 通过数组解构([animal, { value }])直接取出每个子数组里的键名(赋值给animal)和子对象的value属性
    • 返回一个新对象,包含animal和value两个属性

扩展场景:子对象含多个属性

如果原对象的子对象还有其他属性(比如{ value: 50, type: 'mammal' }),可以用展开运算符保留所有属性,写法更灵活:

const animalArr = Object.entries(AnimalObj).map(([animal, obj]) => ({
  animal,
  ...obj
}));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 18:40:25