如何使用包含连字符的键将对象解构为变量? [复制]
Posted
技术标签:
【中文标题】如何使用包含连字符的键将对象解构为变量? [复制]【英文标题】:How to destructure an object with a key containing a hyphen into a variable? [duplicate] 【发布时间】:2017-02-11 01:25:35 【问题描述】:如何从键包含连字符的对象中解构属性?
例如:
accept-ranges:"bytes",
cache-control:"public, max-age=0",
content-length:"1174",
content-type:"application/json",
date:"Mon, 03 Oct 2016 06:45:03 GMT",
etag:"W/"496-157892e555b"",
last-modified:"Mon, 03 Oct 2016 06:14:57 GMT",
x-powered-by:"Express"
现在要使用解构从对象中获取content-type
和x-powered-by
值吗?
【问题讨论】:
我很困惑,你说你需要一个数组 - 但你提供了一个对象。它是哪一个?对象数组等..? 对不起,错字了。 一个常见的错字!键是,就像,彼此相邻^_^ 【参考方案1】:就像你不能用连字符声明一个变量一样,你不能直接解构为一个。您需要将变量重命名为其他名称才能在当前范围内访问它。您可以使用以下解构语法来做到这一点:
const x =
"accept-ranges":"bytes",
"cache-control":"public, max-age=0",
"content-length":"1174",
"content-type":"application/json",
date:"Mon, 03 Oct 2016 06:45:03 GMT",
etag:"W/496-157892e555b",
"last-modified":"Mon, 03 Oct 2016 06:14:57 GMT",
"x-powered-by":"Express"
;
const "accept-ranges": acceptRanges = x;
console.log(acceptRanges); // "bytes"
【讨论】:
以上是关于如何使用包含连字符的键将对象解构为变量? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
在创建对象时假设非字符串键将使用 toString() 转换为字符串有多安全?