如何使用无效变量名称的键名称来解构对象属性?

问题描述 投票:0回答:3

由于对象键是字符串,因此它们可以包含任何类型的字符和特殊字符。我最近偶然发现了一个从 API 调用中收到的对象。该对象的键名中有“-”。

const object = {
   "key-with-dash": []
}

在这种情况下解构不起作用,因为

key-with-dash
不是有效的变量名称。

const { key-with-dash } = object;

在这种情况下我应该如何解构对象?这有可能吗?

javascript ecmascript-6 destructuring
3个回答
140
投票

const data = {
   "key-with-dash": ["BAZ"]
}

const {"key-with-dash": foo} = data;

console.log("foo", foo);


51
投票

只需给它一个有效的名称:

let object = { 'key-with-dash': [] }
let {'key-with-dash':y} = object
console.log(y)
// => []

您还可以使用变量进行解构:

let object = { 'key-with-dash': [] }
let key = 'key-with-dash'
let {[key]:y} = object
console.log(y)
// => []


-6
投票

各位开发者大家好, 如果上述方法都不起作用,我已经找到了解决此错误的方法。

  1. 按照此代码操作

    <i>const anyVar = yourData["data-example"] </i>
    
  2. 希望这对您有用,如果您有任何疑问,请询问我。

P.S:我知道这是一个老问题,但我遇到了一个问题,所以我认为有些人也可能面临这个问题。这就是我发布此文章的原因。

© www.soinside.com 2019 - 2024. All rights reserved.