使用动态键创建对象
为了访问和解析 Node.js 中的 DOM 元素,通常使用 Cheerio。问题在于如何动态创建具有从变量派生的键和值的对象。
传统上,在 JavaScript(ES6 之前)中,使用动态键创建对象需要括号表示法:
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); }
但是,随着 ES6 的出现,计算键可以用于对象初始值设定项,提供更简洁的语法:
var obj = { [myKey]: value, }
将其应用于手头的问题会产生:
stuff = function (thing, callback) { var inputs = $('div.quantity > input').map(function(){ return { [this.attr('name')]: this.attr('value'), }; }) callback(null, inputs); }
请注意,使用计算键需要转译器,例如 Babel 或Google 的 Traceur 用于浏览器兼容性。
以上是如何使用变量的动态键创建 JavaScript 对象?的详细内容。更多信息请关注PHP中文网其他相关文章!