使用动态键创建对象
在 JavaScript 中,对象文本中的键通常是静态字符串。但是,有时您可能需要根据输入数据动态地将键分配给对象。
在这种情况下,用户有一个函数需要创建一个具有动态确定的键和值的对象。然而,简单地使用 .map 函数会产生具有相同键名的对象数组。
解决方案 1:计算键 (ES2015)
在最近介绍的ES2015 标准,可以使用计算键创建对象。使用此语法,可以将对象字面量中的键动态指定为变量或表达式。
stuff = function (thing, callback) { var inputs = $('div.quantity > input').map(function () { return { [this.attr('name')]: this.attr('value'), }; }); callback(null, inputs); };
解决方案 2:括号表示法(ES5 及以下版本)
在早期版本的 JavaScript(ES5 及更低版本)中,可以使用括号表示法分配动态键。这涉及将键定义为方括号内的字符串。
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 中的输入数据动态创建对象键,确保键与所需值匹配。
以上是如何使用动态键创建 JavaScript 对象?的详细内容。更多信息请关注PHP中文网其他相关文章!