比较两个数组的相同值和不匹配值
Comparing two arrays for the same values and non-matching values
我正在尝试比较两个数组,并在是否存在匹配值的情况下显示不同的结果。
@codes.each do |code|
accessible_codes = code.roles.pluck(:role_id)
current_users_roles = current_user.roles.pluck(:role_id)
(accessible_codes & current_users_roles).each {|i|
if i
puts "accessible"
else
puts "not accessible"
end
}
end
目前我只得到 "accessible" 输出。我如何比较每一个并得到真实和错误的案例?
您正在迭代这两个数组的交集。听起来您想检查该交叉点中是否有任何元素。你会想要这样的东西:
current_users_roles = current_user.roles.pluck(:role_id)
@codes.each do |code|
accessible_codes = code.roles.pluck(:role_id)
if (accessible_codes & current_users_roles).empty?
puts "not accessible"
else
puts "accessible"
end
end
我正在尝试比较两个数组,并在是否存在匹配值的情况下显示不同的结果。
@codes.each do |code|
accessible_codes = code.roles.pluck(:role_id)
current_users_roles = current_user.roles.pluck(:role_id)
(accessible_codes & current_users_roles).each {|i|
if i
puts "accessible"
else
puts "not accessible"
end
}
end
目前我只得到 "accessible" 输出。我如何比较每一个并得到真实和错误的案例?
您正在迭代这两个数组的交集。听起来您想检查该交叉点中是否有任何元素。你会想要这样的东西:
current_users_roles = current_user.roles.pluck(:role_id)
@codes.each do |code|
accessible_codes = code.roles.pluck(:role_id)
if (accessible_codes & current_users_roles).empty?
puts "not accessible"
else
puts "accessible"
end
end