【问题标题】:How to conditionally add attribute to an object? [duplicate]如何有条件地向对象添加属性? [复制]
【发布时间】:2017-12-06 09:16:43
【问题描述】:

我想有条件地为对象添加属性。目前我有这个:

    const obj = {
    name: car.name,
    battery: car.battery && car.battery, 
    fuel: car.fuel && car.fuel
}

问题是如果car.battery 不存在我有battery: undefined。如果它不存在,我宁愿在对象中没有该属性。我怎样才能做到这一点?

【问题讨论】:

  • if (car.battery) obj.battery = car.battery;
  • 虽然,真的……你在这里做什么?您只是在以非常冗长的方式复制 car 对象。
  • 如果想内联解决这个问题,可以使用battery: car.battery || 'something else if falsy'。但请注意,如果 car.battery0,您将得到 'something else if falsy'

标签: javascript


【解决方案1】:

问题是如果 car.battery 不存在我有电池: 不明确的。我宁愿在 对象,如果它不存在。

简单

const obj = Object.assign({}, car);

如果car 没有batteryfuel,它不会被复制到obj

【讨论】:

    猜你喜欢
    • 2015-07-04
    • 1970-01-01
    • 2021-06-16
    • 2016-08-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 2020-08-06
    相关资源
    最近更新 更多