在对象中利用动态属性
在 JavaScript 中创建具有可变属性的对象有时会带来挑战。在此背景下,我们将深入研究将字符串分配为对象键的技术,为最新的 ES2015 标准和早期 JavaScript 版本提供解决方案。
ES2015 (ES6) 解决方案
1。计算属性:
ES2015 引入了计算属性的概念,可以使用动态计算的键创建对象:
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。
ES2015 之前的解决方案
2.括号表示法:
ES5 及更早版本需要使用括号表示法来分配动态键:
var obj = {}; obj[myKey] = value;
在本例中:
stuff = function (thing, callback) { var inputs = $('div.quantity > input').map(function () { var key = this.attr('name'); var value = this.attr('value'); var ret = {}; ret[key] = value; return ret; }); callback(null, inputs); };
以上是如何使用动态分配的字符串键创建 JavaScript 对象?的详细内容。更多信息请关注PHP中文网其他相关文章!