设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 601|回复: 7
打印 上一主题 下一主题

[有事请教] 关于Ruby数组排序的问题

[复制链接]

Lv5.捕梦者

梦石
24
星屑
7092
在线时间
247 小时
注册时间
2020-12-4
帖子
306

极短24获奖极短23获奖极短22获奖

跳转到指定楼层
1
发表于 2023-6-1 19:09:09 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
已知:
data 里面包含了大量的乱序物体

其中  data.type_name  是每个物品的类型名

现在有一个数组 a,包含了所有物品的类型名总和
a = ["消耗","素材","合成","武器"]

问题:
将data 进行排序,使得排序结果的物品的类型名,能够按照 a 的先后顺序来排列

结果类似导向:
b = []
for i in 0...data.size
        b << data.type_name
end
b   >>>>>> ["消耗","消耗",......"素材","素材",......"合成","合成",......"武器","武器",......]

Lv5.捕梦者

梦石
24
星屑
7092
在线时间
247 小时
注册时间
2020-12-4
帖子
306

极短24获奖极短23获奖极短22获奖

2
 楼主| 发表于 2023-6-1 22:26:22 | 显示全部楼层
本帖最后由 纯属小虫 于 2023-6-1 22:38 编辑
灯笼菜刀王 发表于 2023-6-1 20:24
b = []
a.each{|i| b += data.find_all{|j| j.type_name == i}}
data = b


   
我....我试着解析了一下,是不是跟这个是一样的(豆腐脑用不来each和{})

   b = []

   for i in a
      for j in [email protected]
        b.push(@data[j]) if @data[j].name_type == i
      end
    end

   data = b
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-6-6 23:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表