Вот пример: Это просто упрощенная версия, просто для вас идея, о чем я говорю.Переустановите массивы на основе заданного индекса
current_properties = { "id" : 0, "name":1, "age": 2, "gender":3 }
new_index = { "id":0, "name":1, "gender": 2, "age": 3, "address":4 }
А вот значения массива:
arr = ["1234", "John Doe", 35, "Male"]
Есть ли способ поменять местами значения на основе данного индекса? Те индексы, которые не соответствуют текущим свойствам, должны вставить пустой элемент.
Так вот ожидаемый выход:
arr = ["1234", "John Doe", "Male", 35, ""]
Две небольшие точки: 1. У вас есть 'each.map', где' map' достаточно. Я ожидаю, что вы забыли удалить «каждый» во время редактирования. 2. Вы можете написать 'idx = new_index.map (&: reverse) .sort.map ...' или просто 'idx = new_index.sort_by (&: last) .map {| key, _ | current_properties [ключ]} '. –
@CarySwoveland, Спасибо за комментарий. Я соответствующим образом обновил ответ. – falsetru