gpt4 book ai didi

javascript - 对对象数组进行排序?

转载 作者:行者123 更新时间:2023-11-30 00:08:30 25 4
gpt4 key购买 nike

我有以下数据结构,我坚持使用一种方法来根据价格按升序对所有项目的所有变体进行排序。

理想情况下,我需要一种方法来找到任何商品变体的最低价格,同时仍然可以访问该变体的父级。

var items = [
{
"id" : 1 ,
"name" : "name1",
"variations" : [
{
"subId" : 1000011,
"subName" : "name1a",
"price" : 19.99
},
{
"subId" : 1000012,
"subName" : "name1b",
"price" : 53.21
},
{
"subId" : 1000013,
"subName" : "name1c",
"price" : 9.49

}
]

},
{
"id" : 2,
"name" : "name2",
"variations" : [
{
"subId" : 1000021,
"subName" : "name2a",
"price" : 99.29
},
{
"subId" : 1000022,
"subName" : "name2b",
"price" : 104.99
},
{
"subId" : 1000023,
"subName" : "name2c",
"price" : 38.00

}
]

}

];

最佳答案

您可以使用以下代码来执行此操作:

items.forEach(function(item){
var variations = item.variations.sort(function(a, b){
return b.price - a.price;
});
console.log(variations);
});

将为 items 数组中的每个项目调用此函数。如果您只想订购 items 数组中的第一个、第二个或 n 项,您需要使用如下内容:

var variations = items[0].variations.sort(function(a, b){
return b.price - a.price;
});
console.log(variations);

其中 items[0] 代表您要订购的商品。

如你所见:

function(a, b){
return b.price - a.price;
}

是对 items 数组中的每个数组 item 的最终结果进行排序的函数。使用the sort function .您可以阅读有关比较函数如何对数组项进行排序的更多信息。

the array elements are sorted according to the return value of the compare function

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

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