我有:
var data = [];
我想像这样动态创建字符串数组:
for(var i=0; i < files.length; i++){
data[i].part1 = "abc";
data[i].part2 = "def";
data[i].part3 = "ghi";
}
这可能吗?我尝试了它并抱怨'无法设置'未定义'的属性'part1'
然后我想按part1值对数据数组进行排序:
data[0] = {3,a,b};
data[1] = {1,a,b};
data[2] = {5,a,b};
变为:
data[0] = {1,a,b,c};
data[1] = {3,a,b,c};
data[2] = {5,a,b,c};
我想这样做的原因是因为排序完成后,我需要更改
data [i] .part2
<\ n>排序后的其他内容!答案 0 :(得分:2)
你可以这样做:
for (var i = 0; i < files.length; i++) {
data[i] = {};
data[i].part1 = "abc";
data[i].part2 = "def";
data[i].part3 = "ghi";
}
将data[i]
设置为空对象,然后逐个填充。或
for (var i = 0; i < files.length; i++) {
data[i] = {
part1: "abc",
part2: "def",
part3: "ghi"
};
}
一次将data[i]
设置为完整对象。
我不理解data[0] = {3,a,b};
部分:{3,a,b}
是一种语法错误,它与您的其他代码(它没有提及{{}相似1}}或3
或a
)。
但您可以通过特定属性轻松对对象数组进行排序:
b
有关详细信息,请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort。