使用解构来访问嵌套在数组中的对象的属性

时间:2017-02-27 06:20:48

标签: javascript ecmascript-6

如何使用解构来访问嵌套在数组中的对象的属性?以下是我的代码:

 var weatherObj = {
      weather: [{
        id: 721,
        main: "Haze",
        description: "haze",
        icon: "50d"
      }]
    };

例如,我想用值" haze"来判断变量描述。

1 个答案:

答案 0 :(得分:1)

分解所有级别

您可以一次分解一个级别。首先,获取weatherObj的weather属性。接下来,访问该属性中数组的第一个元素。最后,从元素中分解所需的属性:

var {weather} = weatherObj
var [w1] = weather;
var {description} = w1;

具有嵌套的特定属性

如果您只对description属性感兴趣,可以按如下方式嵌套模式:

var {weather: [{description}]} = weatherObj;
// description === 'haze'

您也可以使用与您分解的属性不同的名称将值赋值给变量,就像使用基本分解一样:

var {weather: [{description: desc}]} = weatherObj;
// desc === 'haze'