如何向可能尚不存在的Object添加字段?

时间:2018-05-30 17:00:47

标签: javascript

我有一个this._champ对象(默认情况下未定义)。

我浏览一个数组,并希望使用值this._champ[champ.name][ele.infos[0].StackableRangeName] = ele.value;添加此字段,但在第一次迭代时,[cham​​p.name]为undefined,而[ele.infos[0].StackableRangeName]始终为{ {1}},如何管理?

我试过这个三元运算符,但它没有工作:

undefined

2 个答案:

答案 0 :(得分:3)

如果尚未设置默认值,这是一个常见的习惯用法:

this.champ[champ.name] = this.champ[champ.name] || []

答案 1 :(得分:1)

检查是否存在密钥。然后推送价值:

if(this.champ && !this.champ.hasOwnProperty(champ.name)) {
     this.champ[champ.name] = [];
}
this._champ[champ.name].push({ele.infos[0].StackableRangeName: ele.value});