【发布时间】:2011-10-18 07:35:19
【问题描述】:
从这个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 构建成一个很好的通用示例,但我运气不佳。
【问题讨论】:
-
您要搜索还是排序?
-
您在使用您链接的第二个答案时遇到了什么问题?
-
不够通用。当我只想说
sort(["first-field", "ASC"], ["second-field", "DSC"]);时,我似乎添加了一大堆代码当我尝试添加第一个答案的“入门”逻辑以便我可以处理日期、不区分大小写等时,这更加复杂。 -
或者您可以对每个字段应用权重
-
你可以检查lodash.com/docs/4.17.11#orderBy,如果你可以使用lodash
标签: javascript arrays sorting