gpt4 book ai didi

javascript - 按另一个相关值对 javascript 数组进行排序

转载 作者:行者123 更新时间:2023-11-29 20:47:13 25 4
gpt4 key购买 nike

我很难按需要对数组进行排序;

下面是我的代码:

callbacks : {
onComplete : function(id, filename, response) {
handler.addImage({
uuid : response.image_id,
thumbnailUrl : response.image_url,
name : response.filename
}, id);
this.setDeleteFileParams({
id : response.image_id
}, id);
self._images.push(response.image_id); /* here */
}
}

self._images 返回一个带有 response.image_id 的数组,但它们没有按预期排序;我需要按 response.filename 排序的结果。

下面的例子说明了我的意思;

鉴于:

response.image_id -> response.image_id
8870 -> img03.jpg
8889 -> img02.jpg
8875 -> img01.jpg

我的函数的结果将是:

Array(3)
0: 8889
1: 8875
2: 8870

相反,这是我想要实现的:

Array(3)
0: 8875
1: 8889
2: 8870

我做错了什么,我该如何解决?

最佳答案

您可以构建一个同时具有 filenameimage_id 属性的对象数组,而不是构造一个 image_id 数组。

self._images.push({
filename: response.filename,
image_id: response.image_id
});

现在您有了 filename 属性,您可以使用它对数组进行排序。

self._images.sort((a, b) => a.filename.localeCompare(b.filename));

如果你只想得到一个image_id数组,你可以使用原生的.map()方法。

self._images.map(image => image.image_id)

关于javascript - 按另一个相关值对 javascript 数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53939219/

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