我正在尝试对数组进行排序。我正在尝试按“itemCommodity”进行排序。我只需要先按数字排序,然后再按字母排序。例如:

1000
A120
B330
2020年
J954
5000

应显示为:

1000
2020年
5000
A120
B330
J954

我希望有人可以帮助我。我在下面尝试了一个示例,但未按预期工作。

var product_data = [{
"itemCommodity": "1000",
},
{
"itemCommodity": "B330",
},
{
"itemCommodity": "A120",
},
{
"itemCommodity": "J954",
},
{
"itemCommodity": "5000",
},
{
"itemCommodity": "2020",
}]

 product_data.sort(function(a, b) {
     return a.itemCommodity - b.itemCommodity;
 });

请注意,itemCommodity不是数组中唯一的对象。我大约有40个不同的对象,只是尝试对itemCommodity进行排序。

最佳答案

您可以尝试像这样比较它们

product_data.sort(function(a, b) {
     return a.itemCommodity > b.itemCommodity;
});

如果您想对字母顺序进行排序,则可以尝试
 product_data.sort(function(a, b) {
     return a.itemCommodity.toLowerCase() > b.itemCommodity.toLowerCase();
});

10-01 04:06