【问题标题】:JavaScript: Add Key and Value to Object Using ES6 {} ShortcutJavaScript:使用 ES6 {} 快捷方式向对象添加键和值
【发布时间】:2019-07-05 18:00:16
【问题描述】:

我有以下对象:

obj = {name: 'Amy',
       age: 36,
       type: 'sanguine'}

我想为上述对象添加另一个键和值,但我特别想使用 {} 快捷方式来实现。

这是使用 {} 快捷方式的示例:

function test (bloodtype) {
  return { bloodtype }
}

test('A')

结果:{ index: 0, elem: 22 }

但是尝试使用该快捷方式将血型添加到 obj 是行不通的。

function test (bloodtype) {
      return obj{ bloodtype }
}

test('A')

错误:

evalmachine.<anonymous>:31
  return obj{ bloodtype }
            ^
SyntaxError: Unexpected token {

我做错了什么?

【问题讨论】:

  • 正如它所说,这不是正确的语法。 { ...obj, bloodtype } 将创建一个新对象,或者obj.bloodtype = bloodtype 将添加到现有对象。
  • test('A')如何返回{ index: 0, elem: 22 }
  • 您也可以使用Object.assign( obj, { bloodtype } );修改现有对象

标签: javascript function object ecmascript-6 key-value


【解决方案1】:

要使用快捷语法,您首先需要使用object spread,然后将其与您的新属性合并:

function test (obj, bloodtype) {
  return {...obj, bloodtype};
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-14
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多