JavaScript用动态键创建对象

首先,我使用Cheerio进行一些DOM访问并使用Node.js进行解析。美好的时光。

情况如下:

我具有创建对象所需的功能。该对象为其键和值使用变量,然后返回该单个对象。例:

stuff = function (thing, callback) {

var inputs = $('div.quantity > input').map(function(){

var key = this.attr('name')

, value = this.attr('value');

return { key : value }

})

callback(null, inputs);

}

它输出:

[ { key: '1' }, { key: '1' } ]

.map()返回对象fyi的数组)

key实际上需要成为的字符串this.attr('name')

考虑到我要做什么,在Java中将字符串分配为键的最佳方法是什么?

回答:

JavaScript 的新ES2015标准(以前称为ES6)中,可以使用计算键创建对象Object Initializerspec

语法为:

var obj = {

[myKey]: value,

}

如果应用于OP的场景,它将变成:

stuff = function (thing, callback) {

var inputs = $('div.quantity > input').map(function(){

return {

[this.attr('name')]: this.attr('value'),

};

})

callback(null, inputs);

}

浏览器兼容性仍需要使用Transpiler 。


在早期的JavaScript规范(ES5和更低版本)中,对象文字中的键始终按字面意义解释为字符串。

要使用“动态”键,必须使用方

var obj = {};

obj[myKey] = value;

在您的情况下:

stuff = function (thing, callback) {

var inputs = $('div.quantity > input').map(function(){

var key = this.attr('name')

, value = this.attr('value')

, ret = {};

ret[key] = value;

return ret;

})

callback(null, inputs);

}

以上是 JavaScript用动态键创建对象 的全部内容, 来源链接: utcz.com/qa/410441.html

回到顶部