【发布时间】:2017-03-17 23:11:55
【问题描述】:
假设给定一个字符串数组,每个字符串都有相应的权重。比如:
str_arr = ["james", "blake", "rob"]
weights = [4, 7, 1]
str_arr[i] 对应 weights[i]。
我将如何按照权重的升序对 str_arr 进行排序?例如:
(排序后)权重为[1, 4, 7],对应于str_arr = ["rob", "james", "blake"]
我如何获得["rob", "james", "blake"]?
大多数排序比较器处理修改当前数组的排序方式,我研究了针对不同数组的现有顺序的排序——但我不确定如何对整数数组进行排序,同时根据整数数组的输出对 str_arr 执行相同操作...有 Rubyist 方法吗?
【问题讨论】:
-
Ruby 方法将使用 Hash 而不是数组 {james: 4, blake: 7, ..} ,对权重值进行排序并使用 .keys 方法来获得您的数组跨度>