我有一个空对象,我想将一个键值对推入数组。

required.forEach(function(value){
     if(value){
        var tempVal = "event_info.schema." + value;


        // console.log(tempVal);
        var row = {tempVal: [properties[value]['type']]};


     }
});


当我console.log(row)它显示

{ tempVal: [ 'string' ] }


但是我希望它是tempVal的内容,而不是“ tempVal”

即如果tempVal = "name",我希望行为{ name : ['string']}。我该如何实现?
我试过tempVal.eval(),但这是一个错误。你能指出我正确的方向吗?提前致谢。

最佳答案

对象也可以用括号索引。

tempVal = 'someString';
var obj = {};
obj[tempVal] = ['myArrayOfOneString'];
console.log(obj) // {'someString': ['myArrayOfOneString']}


请注意,obj.something等效于object['something']

09-26 14:24