如何在 Ruby 中按特定顺序对数组进行排序?

2024-03-04

我想按照另一个数组中给出的特定顺序对数组进行排序。

例如:考虑一个数组

a=["one", "two", "three"]
b=["two", "one", "three"]

现在我想按“b”的顺序对数组“a”进行排序,即

a.each do |t|
  # It should be in the order of 'b'
  puts t
end

所以输出应该是

two
one 
three 

有什么建议么?


Array#sort_by 就是你所追求的。

a.sort_by do |element|
  b.index(element)
end

响应评论的更具可扩展性的版本:

a=["one", "two", "three"]
b=["two", "one", "three"]

lookup = {}
b.each_with_index do |item, index|
  lookup[item] = index
end

a.sort_by do |item|
  lookup.fetch(item)
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ruby 中按特定顺序对数组进行排序? 的相关文章

  • 如何随机化 NSArray? [复制]

    这个问题在这里已经有答案了 假设我有一个 NSArray 里面有 50 100 个对象 如何将数组按随机顺序排列 有很多方法可以做到这一点 但大多数只涉及生成随机数 也许您可以使用 NSMutableArray 使用此技术 生成 0 到 4
  • 更快地将数据库从一个heroku应用程序传输到另一个应用程序

    有没有更快的方法将我的生产数据库传输到测试应用程序 目前我正在做一个heroku db pull然后到我的本地机器heroku db push app testapp但这变得越来越耗时 我有一些种子数据 但它并不像简单地使用我的真实数据进行
  • Java中如何高效存储小字节数组?

    By small字节数组 我指的是长度从 10 到 30 的字节数组 By store我的意思是存储它们在内存中 不序列化并持久化到文件系统 系统 macOS 10 12 6 Oracle jdk1 8 0 141 64 位 JVM 参数
  • Javascript - 使数组索引 toLowerCase() 不起作用

    我试图将所有数组索引设置为小写字符串 但它不起作用 我在这里查看了其他答案并尝试了他们的解决方案 例如使用toString 添加之前toLowerCase但它不起作用 这很奇怪 我创建了一个问题的jsfiddlehere https jsf
  • 基于数组对列表进行排序

    我正在尝试根据字符串数组对自定义列表进行排序 但我失败得很惨 例如它根本没有对列表进行排序 Public class CrateOrder public int Id get set public string Name get set p
  • rspec 用户测试给出“未定义的局部变量或方法‘confirmed_at’”

    我的 rspec 测试给了我 NameError undefined local variable or method confirmed at for
  • 竞争性编码 - 以最低成本清除所有级别:未通过所有测试用例

    当我遇到这个问题时 我正在一个竞争性编码网站上解决问题 问题指出 游戏中有 N 个关卡和 M 种可用武器 等级编号从 0 到 N 1 武器编号从 0 到 M 1 您可以按任意顺序清除这些级别 在每个关卡中 需要这些 M 武器的某些子集才能通
  • 载波无法删除图像

    我现在使用 Carrierwave 上传图像 一切都很好 除了一个 当我添加用于删除上传图像的复选框时 我收到错误 无法批量分配受保护的属性 remove image Form Model class Manufacturer lt Act
  • ruby 中的树和图数据结构[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我很难找到在 ruby 中使用的树数据结构 我可以研究一些众所周知的吗 我的要求很简单 我想创建一棵树 或者可能是一个图 并找到一些节点之
  • PHP - 递归搜索数组中的键和子键,成功时返回键['subkey]

    因此 我编写了一个函数 该函数可以在数组中深入搜索两个级别以查找键和子键对 基本上是在寻找key subkey 如果找到 则返回key subkey 我正在寻找一种以真正递归的方式执行此操作的方法 并根据需要进行尽可能多的深度搜索 直到到达
  • 按元素聚合数组

    Spark scala 相当新 我想知道是否有一种简单的方法以按列方式聚合 Array Double 这是一个例子 c1 c2 c3 1 1 1 0 1 0 3 4 1 2 1 0 0 0 4 3 2 1 0 0 0 0 0 0 2 3 1
  • 为什么 char 数组需要 strcpy 而 char star 不需要 - 在 C 中使用结构

    我对这段代码有一个误解 typedef struct EXP int x char name char lastName 40 XMP main XMP a a name eaaa a lastName strcpy a lastName
  • 如何显示多维数组第二层的 json 值?

    解决此代码时遇到问题 这些是数组 Array 0 gt stdClass Object id gt 1 name gt delux price gt 213 description gt tv gt 0 breakfast gt 0 par
  • 默认更新嵌套属性

    我尝试更新 iProduction 这是生产中的嵌套表单 但此行出现参数错误 参数数量错误 0 代表 1 生产 update iproducts attributes cow id cow 我的创作动作制作 def create produ
  • Lua表在内存中是如何处理的?

    lua如何处理表的增长 是否相当于ArrayList在Java中 IE 需要连续的内存空间 并且当它变得大于已经分配的空间时 内部数组被复制到另一个内存空间 有什么聪明的方法来引导吗 我的问题是 表是如何存储在内存中的 我不是问如何在 Lu
  • 删除 NSMutablearray 中的最后一个对象[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 为什么要删
  • 如何在 JavaScript 中构建一个计算数组中出现次数的对象?

    我想计算数组中某个数字出现的频率 例如 在Python中我可以使用Collections Counter创建一个字典 记录某个项目在列表中出现的频率 据我所知 JavaScript 是这样的 var array 1 4 4 5 5 7 va
  • Unix 排序实用程序:使用十六进制字节值作为分隔符

    我想知道是否可以使用十六进制值作为 Unix 的分隔符sort公用事业 基本上我想做一些类似的事情 sort t x00
  • Ruby 中的关键字在哪里定义?

    我正在查看 Ruby 文档 想知道是否一切都是对象 那么 关键字 也是对象 对吗 如果是这样 它们在 ruby 中是在哪里定义的 下面的页面完全让我困惑 因为它显示了包含所有关键字的对象 但这不是所有类使用的官方对象 这是否以某种方式来自不
  • 编译器消息“警告:格式‘%s’需要类型‘char *’,但参数 2 具有类型‘char (*)’”

    我正在尝试运行一个简单的 C 程序 但收到此错误 警告 格式 s 需要类型 char 但参数 2 的类型为 char 20 我在跑步Mac OS X v10 8 https en wikipedia org wiki OS X Mounta

随机推荐

  • 跟踪实时推文流中的关键字

    我安装并尝试了 tweepy 我现在正在使用以下功能 from API参考 http packages python org tweepy html api html api reference API public timeline 返回
  • 检查拖放是否正在进行

    有什么方法可以检查拖放是否正在进行中 可以检查一些方法或win32 api吗 我知道我可以设置AllowDrop 并使用事件 但在这种情况下它不起作用 基本上我想用代码检查是否any拖放正在进行中 我有一个类似的问题 我自己回答了 经过几个
  • 了解 Tensorflow LSTM 模型输入?

    我在理解 TensorFlow 中的 LSTM 模型时遇到一些困难 我用tflearn http tflearn org 作为包装器 因为它自动完成所有初始化和其他更高级别的工作 为了简单起见 我们考虑这个示例程序 https github
  • MongoDB - 将 CSV 导入嵌套文档

    我有一个架构 其文档结构如下所示 id ObjectId 4f8dcb06ee21783d7400003c venue ObjectId 4f8dcb06ee21783d7400003b name Some event webite www
  • 计算两个数组之间相关性的有效算法[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在寻找一种算法来计算两个双精度数
  • 解析包含自定义格式的日期和时间的字符串

    我有一个下一个格式的字符串 ORDER20100322194007 where 20100322是一个日期并且194007是一个时间 如何解析字符串并获取其中包含的内容DateTime object 它总是以ORDER string pat
  • iOS 12 和 SKShader 中已弃用 OpenGL ES

    我对 SpriteKit 中着色器的概念和使用非常陌生 我发现本教程介绍了如何使用附加到 Color Sprite 的自定义着色器属性的自定义着色器文件 Fractal fsh 渲染 Mandelbrot 分形 https www wehe
  • Logstash 的流行为不一致 - ELK

    我有一个包含几个平面字段和几个嵌套字段的索引 我正在尝试通过 Logstash 将 SQL Server 中的信息通过特定 ID 流式传输到嵌套字段中 当我流式传输数据时only one然后它就完全成功地通过了 没有任何问题 另一方面 当我
  • 释放 Javascript 对象使用的内存

    我应该自己释放分配的内存 还是有一种垃圾收集器 在 JavaScript 中使用以下代码可以吗 function fillArray var c new Array c push 3 c push 2 return c var arr fi
  • 将 Google Analytics 代码放置在 WordPress 特定页面中

    在客户填写联系表单后 我试图让 Google Analytics 代码在感谢页面上工作 并且我尝试使用 HTML 将其放入 Wordpress 后端管理下的页面中的感谢页面中tab 但它似乎在代码之间生成不必要的 p 和 br 标签 特别是
  • 忽略标志指针 0x10ef76ec0 的 RegisterValidateFunction():在 Xcode 中的该地址处找不到标志

    我该如何解决这个问题 W0721 13 54 19 105928 1 commandlineflags cc 1503 忽略标志指针 0x10ef76ec0 的 RegisterValidateFunction 在该地址找不到标志 出现此问
  • Mac OS Gatekeeper 阻止签名命令行工具

    我在 Xcode 中有一个 命令行工具 目标 不是应用程序包 它被 Gatekeeper 阻止 我多年来一直使用这个工具作为我的 PostCheck 地址簿插件的简单安装程序 2012 年 我用我的 Apple 开发者 ID 签署了该工具
  • 如何在android中测量环境温度

    我想在 Android 设备上测量环境温度 但我的设备不包括温度计传感器 我怎样才能测量它 谢谢 这是如何获取的基本示例Android 中的环境温度 import android support v7 app AppCompatActivi
  • Jaspic ServerAuthModule 委托给 JAAS Krb5LoginModule

    我必须编写一个自定义 Jaspic ServerAuthModule 它需要将专有的身份验证 Cookie 添加到 HTTP 响应和 HTTP 请求 以传播到应用程序服务器上运行的应用程序 身份验证必须使用 Kerberos SPNEGO
  • 在Python中将str数据转换为文件对象

    我正在将视频发布到 Google Cloud Buckets 签名的 PUT url 就可以解决问题 但是 如果文件大小大于 10MB 它将无法工作 因此我找到了一个开源项目 可以让我执行此操作 但它使用类似文件的对象 def read i
  • 无法(无法)部署到 Visual Studio Android 模拟器 (Xamarin.Forms)

    调试 Xamarin PCL 项目时遇到问题 我知道代码没问题 因为我可以在 Windows Phone 模拟器上调试它 但无法在 Android 模拟器上调试它 在Win10上使用VS2015 Prof 我可以毫无问题地构建解决方案 只需
  • Ruby on Rails - 创建用户时创建配置文件

    所以基本上我已经编写了自己的身份验证而不是使用 gem 因此我可以访问控制器 我的用户创建工作正常 但是当创建我的用户时 我还想在我的个人资料模型中为他们创建个人资料记录 我已经让它大部分工作了 我只是似乎无法将新用户的 ID 传递到新的
  • erlang 中的错误报告被截断

    警告 erlang n00b 前面 我正在尝试掌握 erlang 并且只是尝试使用牛仔编写一个基本的 hello world 应用程序 我正在模拟一个错误 基本上在代码中的某个位置返回一个无效值 并尝试解释该错误 即 ERROR REPOR
  • 取消引用中的 de- 前缀是什么意思?有语言解释吗?

    我了解到 是 value at 运算符 并且 地址运算符 正式名称为取消引用和引用 每当我和某人交谈时 我都会被 取消引用 这个词绊倒 因为它让我想起 引用 这个词 然后我就感到困惑 从我的学习过程中我知道 如果我知道取消引用的 de 前缀
  • 如何在 Ruby 中按特定顺序对数组进行排序?

    我想按照另一个数组中给出的特定顺序对数组进行排序 例如 考虑一个数组 a one two three b two one three 现在我想按 b 的顺序对数组 a 进行排序 即 a each do t It should be in t