首页 > 解决方案 > JS 克隆对象只有一个属性

问题描述

我有一个看起来像这样的对象:

  {
    accord: {
      model_type: 'Car',
      totalCapacity: 4,
      maxSpeed:170,
      kms: 140000
    },
    ram: {
      model_type: 'Car',
      totalCapacity:5,
      maxSpeed: 220
      kms: 14000
    },
    corvette: {
      model_type: 'Car',
      totalCapacity: 2,
      maxSpeed: 300,
      kms: 50000,
    }
  }

我正在尝试将此对象复制到如下所示的对象中:

  {
    accord: {
      maxSpeed:170,
    },
    ram: {
      maxSpeed: 220
    },
    corvette: {
      maxSpeed: 300,
    }
  }

我尝试将它克隆到一个带有对象键的数组并使用这些值创建一个对象,但它似乎不起作用。我觉得有一种更简单的方法可以做到这一点

主对象(accord、ram、corvette)中的每个对象每次都可以不同,也可以多于 3 个或少于 3 个

标签: javascript

解决方案


Object.fromEntries(Object.entries(obj).map(([key, value]) => [
  key, 
  Object.fromEntries(
    Object.entries(value)
      .filter(([key, value]) => key === "maxSpeed")
  )
]))

推荐阅读