`
fantaxy025025
  • 浏览: 1309056 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Ruby_数组_根据多字段_排序

 
阅读更多

Ruby_数组_根据多字段_排序

 

 

Ruby Array sort by multiple fields

 

例如有一个网店城,每个小店都有销售,评论,信用度等

shops = Shop.all(...)

shops.sort_by{|shop| shop.topic_count}

 

需求是像数据库的sort by 那样排序。

解决方法: 组装成一个数组,利用数组排序时,依次比较的原理。

 

shops.sort_by{|shop| [shop.sale_count, shop.topic_count, shop.name_pingyin]}
 

参考:How to sort an array of Ruby objects by multiple class fields

 

P

P

P

本文结束

P

P

P


 

分享到:
评论

相关推荐

    Ruby-RedisObjects直接将Redis类型映射成Ruby对象

    3. **List**: 对于列表,Redis-Objects提供了`push`,`pop`,`lindex`等操作,使得开发者可以像操作Ruby数组一样处理Redis列表。 4. **Set**: Ruby-Objects提供了集合操作,如`add`,`remove`,`members`等,让...

    探索Ruby中的元组:数据结构的奥秘

    1. **函数返回多个值**:元组可以用来从函数中返回多个值,而不需要使用散列或数组。 2. **数据传输**:在网络通信或数据交换时,元组可以作为传输数据的容器。 3. **数据验证**:在需要验证数据完整性和类型的场景...

    sort_by_field

    用法 根据每个条目的 name 属性返回的值对values数组进行排序,不区分大小写: values . sort_by_field ( :name )使用区分大小写的每个条目上的name属性对values数组进行排序: values . sort_by_field ( :name , :...

    mongodb-win32-x86_64-2008plus-ssl-v3.4-latest-signed.msi

    你可以在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。 你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。 如果负载的增加(需要更多...

    mongodb_preview.pdf

    包括安装MongoDB服务器,通过JavaScript、Python、Ruby等不同语言的驱动程序来运行"Hello World"样例,并且介绍了MongoDB Compass这一管理工具。此外,书中还演示了如何使用配置文件配置MongoDB服务器。 为了在云端...

    heaps

    堆将使用key字段进行排序以按顺序维护元素。 这样,您可以拥有任何类型的对象,并且只要键是可比较的,就可以使用它来维持顺序。 您将需要编写的方法是: add(key, value) -此方法获取一个键,一个值构造一个...

    Sphinx使用手册

    - `matches`: 匹配的结果数组,每个元素代表一个匹配的文档。 - `[weight]`: 文档的权重值,越高表示相关性越高。 - `[attrs]`: 属性数组,包含了索引时定义的额外属性。 - `total`: 找到的匹配文档总数。 - `...

    MongoDb.doc

    每个文档都可以包含嵌入的文档、数组以及文档数组,便于存储结构化的和半结构化的数据。MongoDB 提供了丰富的查询表达式,支持 JSON 格式的查询命令,能够轻松地查询和操作嵌套的文档和数组。 MongoDB 的索引机制...

    MonggoDB 教程

    文档内可以包含其他文档、数组以及文档数组,这样的设计使得MongoDB非常适合处理复杂、结构化程度各异的数据。这种灵活性使得开发者能够快速存储和检索数据,无需进行复杂的模式定义。 MongoDB具有以下主要特点: 1...

    Mongodb入门教程、示例+Spring Boot完整示例+聚合.docx

    2. 你可以在 MongoDB 记录中设置任何属性的索引(如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。 3. 你可以通过本地或者网络创建数据镜像,这使得 MongoDB 有更强的扩展性。 4. 如果负载的...

    okcupid_matching:OkCupid匹配算法的快速实现

    重要性字段在[0,4]范围内,是OkCupid文档中描述的定义权重的数组的索引。 例如: private static final int [] IMPORTANCE_POINTS = new int []{ 0 , 1 , 10 , 50 , 250 }; 答案始终在[0,3]范围内。 可接受答案集...

    MongoDB管理与开发精要《红丸出品》

    - **16.3 组合索引**:同时对多个字段创建索引。 - **16.4 唯一索引**:确保字段值的唯一性。 - **16.5 强制使用索引**:在查询时强制使用特定索引。 - **16.6 删除索引**:当索引不再需要时将其删除。 - **17.1 ...

    elixir中文入门文档

    - **递归函数设计**:使用递归解决复杂问题,如树形结构的遍历、数组的排序等。 #### 十一、可枚举类和流 - **可枚举接口**:Elixir提供了一套统一的枚举接口,使得处理列表、元组、字符串等变得简单。 - **流处理...

Global site tag (gtag.js) - Google Analytics