Javascript中具有多个值的动态键值数组

Javascript中具有多个值的动态键值数组,javascript,arrays,key-value,Javascript,Arrays,Key Value,我有: var数据=[] 我想动态创建如下字符串数组: for(var i=0; i < files.length; i++){ data[i].part1 = "abc"; data[i].part2 = "def"; data[i].part3 = "ghi"; } 变成: data[0] = {1,a,b,c}; data[1] = {3,a,b,c}; data[2] = {5,a,b,c}; 我之所以要这样做是因为排序完成后,我需要更改 资料[i].

我有:

var数据=[]

我想动态创建如下字符串数组:

for(var i=0; i < files.length; i++){
    data[i].part1 = "abc";
    data[i].part2 = "def";
    data[i].part3 = "ghi"; 
}
变成:

data[0] = {1,a,b,c};
data[1] = {3,a,b,c};
data[2] = {5,a,b,c};
我之所以要这样做是因为排序完成后,我需要更改

资料[i].第2部分

分类后再去别的地方

您可以这样做:

for (var i = 0; i < files.length; i++) {
    data[i] = {};
    data[i].part1 = "abc";
    data[i].part2 = "def";
    data[i].part3 = "ghi"; 
}
一次将
数据[i]
设置为完整对象


我不理解
数据[0]={3,a,b}部分:
{3,a,b}
是一个语法错误,它与您的其他代码不相似(没有提到
3
a
b

但您可以轻松地按特定属性对对象数组进行排序:

data.sort(function (a, b) {
    return (a.part1 > b.part1) - (a.part1 < b.part1);
});
data.sort(函数(a,b){
返回(a.part1>b.part1)-(a.part1
有关详细信息,请参阅

for (var i = 0; i < files.length; i++) {
    data[i] = {
        part1: "abc",
        part2: "def",
        part3: "ghi"
    };
}
data.sort(function (a, b) {
    return (a.part1 > b.part1) - (a.part1 < b.part1);
});