Nếu bạn muốn đạt được như vậy mà không sử dụng đảo ngược [Đôi khi câu hỏi này xuất hiện trong các cuộc phỏng vấn]. Chúng ta cần sử dụng logic cơ bản.
- mảng có thể được truy cập thông qua chỉ số
- thiết lập các chỉ số theo chiều dài của mảng và sau đó suất này bằng 1 cho đến khi chỉ số xuống còn 0
đầu ra để sàng lọc hoặc một mảng mới hoặc sử dụng vòng lặp để thực hiện bất kỳ logic .
def reverseArray(input)
output = []
index = input.length - 1 #since 0 based index and iterating from
last to first
loop do
output << input[index]
index -= 1
break if index < 0
end
output
end
array = ["first","middle","last"]
reverseArray array #outputs: ["last","middle","first"]
tôi biết sẽ có một cái gì đó 'nice' ... Cảm ơn bạn. – Radek
Thực ra, 'reverse_each' là tốt hơn bởi vì nó không tạo bản sao của mảng như' đảo ngược'. –
Vâng, tôi cũng hy vọng rằng 'reverse_each' tốt hơn, mặc dù tôi chưa đào sâu vào bên trong để tự mình xem. –