我做了一个懒惰的实用函数,我希望将其作为我的数组键传递,但是我遇到了语法错误,是否可以在数组中传递一个函数作为它的键?
function encloseAttrSelector(attr, value)
{
return '[' + attr + '="' + value + '"]';
}
...
示例(通常不止一对):
var data = { encloseAttrSelector('name', 'username'): row.first().text() };
答案 0 :(得分:6)
在 ES6 ES2015(该语言的最新官方标准)是的,但在大多数现实生活中没有。但是你可以这样做:
var data = {};
data[encloseAttrSelector('name', 'username')] = row.first().text();
新的ES2015语法是:
var data = { [encloseAttrSelector('name', 'username')] : row.first().text() };
即,通常只是对象初始化表达式中的属性名称的方括号。方括号内可以是任何表达式。
答案 1 :(得分:2)
如果不止一对,请执行以下操作:
var data = {};
data[encloseAttrSelector('name', 'username')] = row.first().text();