我有如下变量
var test = [{...},{...},{...}]
我试图为每个元素命名,以便我可以通过test.grade,test.name和test.area访问元素。我可以想到最原始的方法来为每个索引添加名称,但是最优雅的方法是什么?
var columns = //
var a= {};
var b= {};
var c= {};
for(var i =0; i< columns.length; i++){
a[columns[i]] = this.geta[i];
b[columns[i]] = this.getb[i];
c[columns[i]] = this.getc[i];
}
var test = [];
var Name0 = "name";
var Name1 = "grade";
var Name2 = "area";
test.push(a,b,c);
//test = [{name: Mike, grade: 10}}, {name: Sarah, grade:25}},{name:chris, grade:0}}]
这就是我要格式化的方式
[{A:{姓名:迈克,年级:10}},{B:{姓名:莎拉,年级:25}},{C:{姓名:克里斯,年级:0}}]
然后我想访问元素,例如res.A.name或res.B.grade ...
答案 0 :(得分:0)
如果您想通过点表示法访问某些内容,那么它应该是对象所以
test.push({
grade:"grade",
person:"person",
area:"area"
});
然后你可以像这样访问测试数组的元素和元素的属性
test[0].person;
test[0].grade;
test[0].area;
编辑: 作为对象
test={};
test['Name0']={person:"person1",grade:1,area:"..."};
test['Name1']={person:"person2",grade:1,area:"..."};
test['Name2']={person:"person3",grade:1,area:"..."};
并以
进行访问test.Name0.person
或者您想要使用的任何名称都是字符串,因此请使用/ foreach