假設,我有一個二維數組A
,它聲明裏面有一個對象my_element
。什麼是找出座標的最快捷方式?我正在使用Ruby 1.8.6。紅寶石二維數組:找到一個對象的座標
3
A
回答
6
這是一種方法。雖然我不確定它是最快的。
class Array
def coordinates(element)
each_with_index do |subarray, i|
j = subarray.index(element)
return i, j if j
end
nil
end
end
array = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]
array.coordinates(3) # => [0, 2]
array.coordinates(9) # => [2, 2]
array.coordinates(42) # => nil
相關問題
- 1. 紅寶石創建一個維數組,二維數組
- 2. 紅寶石:二維數組語法
- 3. 紅寶石數組對象
- 4. 紅寶石,一次添加多個對象到一個數組
- 5. 紅寶石中的對象數組
- 6. 紅寶石:添加對象數組
- 7. 紅寶石對象數組...或哈希
- 8. 多維數組的紅寶石nomethoderror
- 9. 紅寶石。在一個對象
- 10. 如何排序紅寶石中的二維數組
- 11. 紅寶石,多維數組推錯誤
- 12. 紅寶石:OOP&兩維數組問題
- 13. 2多維數組在紅寶石
- 14. 紅寶石:遍歷二維散列
- 15. 紅寶石 - 初學者 - 使用二維數組劃分
- 16. 紅寶石數組
- 17. 將紅寶石數組合併到多維數組中
- 18. 紅寶石和零對象
- 19. 紅寶石修改對象
- 20. 紅寶石顯示對象
- 21. 要找到整數(Fixnum對象)值在紅寶石陣列
- 22. 紅寶石MySQL的寶石找不到找到mysql的插座
- 23. 紅寶石數組對象減對象值
- 24. 合併兩個紅寶石對象
- 25. 紅寶石計數對象屬性
- 26. 如何得到一個紅寶石日期日期對象
- 27. 查找紅寶石
- 28. 用紅寶石找到字母數字
- 29. 紅寶石:訪問數組
- 30. 紅寶石數組值串
真的只有一種方法:循環遍歷所有插槽,直到找到你要找的東西(見mtyaka的答案)。最壞的情況是,這是'O(m * n)',其中'm'和'n'是陣列中的行數和列數。 – 2009-11-18 10:54:11