我有两个数组,分别代表User表中的记录。
@server = [{ id: 1, name: "john" }, { id: 2, name: "Sarah" }, { id: 3, name: "George" }]
@client = [{ id: 1, name: "john" }, { id: 2, name: "Sarah" }]
我想运行一个检查另一个数组并删除其记录的函数,因为它们不再存在于@client
中>
目前,我有一个相当长久的方法,该方法可以工作,但绝对不是最佳方法。
@server.each do |item| if @client.select{ |obj| obj[:id] == item.id }.length < 1 User.find(item.id).delete end end
此问题的最佳方法是什么?
我有两个数组,分别代表User表中的记录。 @server = [{id:1,name:“ john”},{id:2,name:“ Sarah”},{id:3,name:“ George”}] @client = [{id:1,name :“ john”},{id:2,名称:...
您本质上是在寻找所有常见的元素,而使用Array#&
超级容易做到这一点: