【发布时间】:2014-09-13 12:22:47
【问题描述】:
我想获取存储在数组数组中的对象每次出现的坐标。如果我有一个数组:
array = [["foo", "bar", "lobster"], ["camel", "trombone", "foo"]]
还有一个对象"foo",我想得到:
[[0,0], [1,2]]
以下会这样做,但它很复杂且丑陋:
array.map
.with_index{
|row,row_index| row.map.with_index {
|v,col_index| v=="foo" ? [row_index,col_index] : v
}
}
.flatten(1).find_all {|x| x.class==Array}
有没有更直接的方法来做到这一点?这是之前的asked,产生了同样不优雅的解决方案。
【问题讨论】: