我正在使用Rails 3.0.我有一个二维数组.二维数组由用户数据和布尔值组成.
例如:[[user1,true],[user2,[user3,false]]
看起来像这样:
[ [#<User id: 1,email: "abc@abc.com",username: "abc">,[#<User id: 2,email: "ijk@ijk.com",username: "ijk">,[#<User id: 3,email: "xyz@xyz.com",username: "xyz">,false],]
我想有条件地查找/提取记录;如果找到User id = 2的整行,它应该只返回第二行,即[#< User id:2,email:“ijk@ijk.com”,username:“ijk”> true]
有没有循环通过这样的数组?怎么可以实现?
解决方法
my_array.select{ |user,flag| user.id == 2}
所有用户具有true标志:
my_array.select{ |user,flag| flag }
或假:
my_array.select{ |user,flag| !flag }