Sort an array according to the elements of another array

后端 未结 4 1343
北荒
北荒 2020-11-28 09:07

I have an array of ids

a1 = [1, 2, 3, 4, 5]  

and I have another array of objects with ids in random order

a2 = [(obj_w         


        
4条回答
  •  独厮守ぢ
    2020-11-28 09:42

    hash_object = objects.each_with_object({}) do |obj, hash| 
      hash[obj.object_id] = obj
    end
    
    [1, 2, 3, 4, 5].map { |index| hash_object[index] }
    #=> array of objects in id's order
    

    I believe that the run time will be O(n)

提交回复
热议问题