2016-10-03 23 views
14

如何从包含连字符的对象中解构属性?如何使用包含连字符的键将对象拆分为变量?

如:

{ 
    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-typex-powered-by值?

+0

我很困惑,你说你从一个数组所需要的 - 但是你提供的对象。这是什么?一组对象等。? –

+0

对不起,我的错,错字。 – Sathish

+0

一个常见的错字!这些键就像是彼此相邻^ _ ^ –

回答

17

就像你不能用连字符声明变量一样,你不能直接解构为一个变量。您需要将您的变量重命名为其他内容才能在当前范围内访问它。您可以使用下面的解构语法来做到这一点:

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"

相关问题