开发者社区> 问答> 正文

如何按多个字段对对象数组排序?

从这个原始问题开始,我将如何对多个字段进行排序?

使用这种略微适应的结构,我该如何对城市(升序)和价格(降序)进行排序?

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"} ]; 我喜欢这个事实,而不是给出一个提供通用方法的答案。在计划使用此代码的地方,我将必须对日期以及其他内容进行排序。“灌注”物体的功能似乎很方便,即使有点麻烦。

我试图将这个答案构建成一个很好的通用示例,但是我运气不高。 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-07 22:52:25 458 0
1 条回答
写回答
取消 提交回答
  • 为您的确切问题提供非通用,简单的解决方案:

    homes.sort( function(a, b) {
    if (a.city === b.city) { // Price is only important when cities are the same return b.price - a.price; } return a.city > b.city ? 1 : -1; });

    2020-02-07 22:52:44
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载