基本上我有一个循环递增i,我想这样做:
var fish = { 'fishInfo[' + i + '][0]': 6 };
然而它不起作用。
任何想法如何做到这一点?我希望结果是
fish is { 'fishInfo[0][0]': 6 };
fish is { 'fishInfo[1][0]': 6 };
fish is { 'fishInfo[2][0]': 6 };
等
我正在使用$ .merge将它们结合起来,如果你认为为什么他会这样做:)
答案 0 :(得分:10)
声明一个空对象,然后您可以使用数组语法动态地为其分配属性。
var fish = {};
fish[<propertyName>] = <value>;
答案 1 :(得分:5)
这样做:
var fish = {};
fish['fishInfo[' + i + '][0]'] = 6;
它有效,因为你可以阅读&amp;使用方括号表示法写入对象:
my_object[key] = value;
和此:
alert(my_object[key]);
答案 2 :(得分:2)
对于具有对象键的任何动态内容,您需要括号表示法。
var fish = { };
fish[ 'fishInfo[' + i + '][0]' ] = 6;
答案 3 :(得分:0)
javascript中的多维数组是通过在数组中保存数组来创建的。
尝试:
var multiDimArray = [];
for(var x=0; x<10; x++){
multiDimArray[x]=[];
multiDimArray[x][0]=6;
}