gpt4 book ai didi

javascript - 如何按多个字段对对象数组进行排序?

转载 作者:IT王子 更新时间:2023-10-29 02:41:21 29 4
gpt4 key购买 nike

从这里original question ,我将如何对多个字段应用排序?

使用这种稍微调整过的结构,我将如何对城市(升序)和价格(降序)进行排序?

var homes = [
{"h_id":"3",
"city":"Dallas",
"state":"TX",
"zip":"75201",
"price":"162500"},
{"h_id":"4",
"city":"Bevery Hills",
"state":"CA",
"zip":"90210",
"price":"319250"},
{"h_id":"6",
"city":"Dallas",
"state":"TX",
"zip":"75000",
"price":"556699"},
{"h_id":"5",
"city":"New York",
"state":"NY",
"zip":"00010",
"price":"962500"}
];

我喜欢这个事实而不是 answer给出了一个通用的方法。在我计划使用此代码的地方,我将不得不对日期和其他内容进行排序。 “启动”对象的能力似乎很方便,即使不是有点麻烦。

我已经尝试构建这个 answer变成一个很好的通用示例,但我运气不佳。

最佳答案

您可以使用链式排序方法,通过获取值的增量直到它达到不等于零的值。

var data = [{ h_id: "3", city: "Dallas", state: "TX", zip: "75201", price: "162500" }, { h_id: "4", city: "Bevery Hills", state: "CA", zip: "90210", price: "319250" }, { h_id: "6", city: "Dallas", state: "TX", zip: "75000", price: "556699" }, { h_id: "5", city: "New York", state: "NY", zip: "00010", price: "962500" }];

data.sort(function (a, b) {
return a.city.localeCompare(b.city) || b.price - a.price;
});

console.log(data);
.as-console-wrapper { max-height: 100% !important; top: 0; }

或者,使用 es6,简单地:

data.sort((a, b) => a.city.localeCompare(b.city) || b.price - a.price);

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

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