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

Project1

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

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

[复制链接]

Lv5.捕梦者

梦石
0
星屑
37905
在线时间
5449 小时
注册时间
2006-11-10
帖子
6554
1
发表于 2023-6-1 20:24:18 | 显示全部楼层
b = []
a.each{|i| b += data.find_all{|j| j.type_name == i}}
data = b

点评

菜刀大神每次出手只用1行就把问题解决了!太强了!  发表于 2023-6-4 01:42
牛啊...虽然看完之后我脑子CPU都烧掉了,哈哈哈哈哈哈  发表于 2023-6-1 22:09

评分

参与人数 2+2 收起 理由
taeckle + 1 太强了!
纯属小虫 + 1 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
37905
在线时间
5449 小时
注册时间
2006-11-10
帖子
6554
2
发表于 2023-6-2 09:42:53 | 显示全部楼层
纯属小虫 发表于 2023-6-1 22:26
我....我试着解析了一下,是不是跟这个是一样的(豆腐脑用不来each和{})

   b = []

差不多

其实排序这样写更简洁

data.sort!{|i,j| a.index(i.type_name) -  a.index(j.type_name)}

不过这样写的缺点是, 如果data里的type_name有 a 没有的元素, 就会弹错

评分

参与人数 1+1 收起 理由
纯属小虫 + 1 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-12 17:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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