如何向对象添加新属性?

时间:2016-10-23 16:36:16

标签: javascript react-native ecmascript-6

我有一个对象

 let data = {
                    "data 1": {
                        "row1": "aaaa",

                    },
                    "data 2": {
                        "row3": "nnnnn",

                    }
                }

我想添加一些带动态名称和val的属性来获取这样的对象:

  let data = {
                    "data 1": {
                        "row1": "aaaa",
                        "row2": "bbbb",
                    },
                    "data 2": {
                        "row3": "nnnnn",
                        "row4": "sssss",
                        "row11": "bbb",
                        "eeee": "ffff"
                    },
                    "dynamic1": {
                        "dyn_2": "dyn_val_1",
                        "dyn_3": "dyn_val_2"
                    }
                }

我尝试过这段代码,但是用最后一个值覆盖数据obj而不是添加

      responseJson.results.forEach(function (value) {

                data[value.date] = { [value.event_id] : [value.name] };

            })

1 个答案:

答案 0 :(得分:3)

那么,请不要覆盖该财产。改为添加到对象:

responseJson.results.forEach(function (value) {
  if (!data[value.date) {
    data[value.date] = {};
  }
  data[value.date][value.event_id] = value.name;
});

相关:How can I add a key/value pair to a JavaScript object?