gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 15:49:20 26 4
gpt4 key购买 nike

我有:

var data = [];

我想像这样动态创建字符串数组:

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

这可能吗?我尝试了一下,它提示“无法设置未定义的属性‘part1’”

然后我想按第 1 部分值对数据数组进行排序:

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};

我想这样做的原因是因为排序完成后,我需要更改

数据[i].part2

排序后转到其他内容!

最佳答案

你可以这样做:

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} 是一种语法错误,并且它与您的其他代码不同(未提及 3ab)。

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

data.sort(function (a, b) {
return (a.part1 > b.part1) - (a.part1 < b.part1);
});

参见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort了解详情。

关于javascript - Javascript 中具有多个值的动态键值数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31951295/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com