所以我有这个普通的对象
var data = {};
我希望在像这样的for循环中用键值对填充它
for(var i=0; i<n; i++){
$.extend(
data,
{
'a'+toString(i): someFunction(i),
'b'+toString(i): someFunction(i)
};
);
};
但似乎在定义密钥时不可能连接字符串。 有什么方法可以做我需要的东西,因为我觉得我的方法从一开始就很蹩脚。
感谢。
答案 0 :(得分:6)
使用此语法
for ( var i = 0; i < n; i++ ) {
data['a'+toString(i)] = someFunction(i);
}
要将非文字键与对象一起使用,您需要使用方括号表示法。这允许您创建动态密钥。
有关方括号表示法的更多信息,请查看here
答案 1 :(得分:5)
您需要使用bracket notation作为member operator,因为密钥是动态的
for (var i = 0; i < n; i++) {
data['a' + toString(i)] = someFunction(i);
data['b' + toString(i)] = someFunction(i);
}