这是我的对象文字:

var obj = {key1: value1, key2: value2};

如何将值为3的字段key3添加到对象中?


当前回答

为了给对象添加键值对,以便for In与该元素一起使用,请首先执行以下操作:

    var nwrow = {'newkey': 'value' };
    for(var column in row){
        nwrow[column] = row[column];
    }
    row = nwrow;

其他回答

为了给对象添加键值对,以便for In与该元素一起使用,请首先执行以下操作:

    var nwrow = {'newkey': 'value' };
    for(var column in row){
        nwrow[column] = row[column];
    }
    row = nwrow;

我们也可以这样做。

var myMap = new Map();
myMap.set(0, 'my value1');
myMap.set(1, 'my value2');
 for (var [key, value] of myMap) {
  console.log(key + ' = ' + value);
 }

示例显示的是对象,而不是数组。在这种情况下,将字段添加到Object的首选方法是只分配给它,如下所示:

arr.key3 = value3;

实现这一目标的最佳方式如下:

function getKey(key) {
  return `${key}`;
}

var obj = {key1: "value1", key2: "value2", [getKey('key3')]: "value3"};

//console.log(obj);

下一个Javascript规范(候选阶段3)中简短而优雅的方式是:

obj={…obj,…{key3:value3}}

在Object spread vs Object.assign和Axel Rauschmayers博士的网站上可以找到更深入的讨论。

自8.6.0版以来,它已经在node.js中运行。

最新版本的Vivaldi、Chrome、Opera和Firefox也知道这个功能,但Mirosoft直到今天才知道,无论是在Internet Explorer还是Edge中。