设置嵌套对象属性的更好方法是什么?

时间:2016-05-18 14:43:52

标签: javascript arrays object javascript-objects

我目前正在使用elasticsearch,需要在我的对象上设置一些深层嵌套的属性,目前我正在设置它们:

this.queryDSL.body.filter = {};
this.queryDSL.body.filter.bool = {};
this.queryDSL.body.filter.bool.must = [];

一种迭代方式,构建空属性并附加到它们上。我试着像这样设置它:

this.queryDSL.body.filter.bool.must = []

这会导致错误,因为javascript不会以未定义的错误的形式在其间创建bool值。

我的方式还可以,还是有更好的方法吗?我希望像我的第二个例子一样,将它们全部设置好。

1 个答案:

答案 0 :(得分:3)

你的第一个例子有效,它确实没什么问题。您也可以这样做:

this.queryDSL.body.filter = {
    bool: {
        must: [

        ]
    }
}