gpt4 book ai didi

javascript - 按子数组属性/值对 JavaScript 对象数组进行排序

转载 作者:行者123 更新时间:2023-12-02 16:36:55 24 4
gpt4 key购买 nike

我有从服务器返回的以下数据(该数据的结构是我无法控制的)...

var data = {
"TrackingResults": [
{
"Name": "Pack One",
"Products": {
"Product": [
{
"ProductName": "Soccer Ball"
},
{
"ProductName": "Tennis Racket"
},
{
"ProductName": "Gold Putter"
}
]
},
"status": "Despatched",
"Location": "Alabama",
"Type": "Parcel"
},
{
"Name": "Pack Two",
"Products": {
"Product": [
{
"ProductName": "Backet Ball Hoop"
},
{
"ProductName": "Base Ball Glove"
}
]
},
"status": "Despatched",
"Location": "Florida",
"Type": "Parcel"
}
]
};

我希望能够按第一个产品名称对每个跟踪结果进行排序。我找不到任何按子数组属性/值排序的代码。

最佳答案

您应该将 Array.sort 方法与自定义比较器函数结合使用:

var resultsComparator = function (res1, res2) {
var prod1 = res1.Products.Product[0].ProductName;
var prod2 = res2.Products.Product[0].ProductName;
return prod1.localeCompare(prod2);
}

这样,排序将基于 Web 浏览器的当前区域设置。您只需将该函数传递给 sort 方法即可:

data.TrackingResults.sort(resultsComparator);

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

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