在Ruby中,可以使用uniq
方法从数组中删除重复项。如果要基于key => value从数组中删除重复项,可以使用uniq
方法结合map
方法。
假设有一个数组arr
,其中每个元素都是一个哈希,包含key和value。可以使用以下代码从数组中删除重复项:
arr.uniq { |item| item[:key] }
这里的uniq
方法接受一个代码块,用于指定如何判断两个元素是否相同。在这个例子中,我们使用item[:key]
作为判断依据,即只有当两个元素的key相同时,才认为它们是重复的。
例如,假设有以下数组:
arr = [
{ key: 1, value: 'a' },
{ key: 2, value: 'b' },
{ key: 1, value: 'c' },
{ key: 3, value: 'd' },
{ key: 2, value: 'e' }
]
使用上述代码可以得到以下结果:
[
{ key: 1, value: 'a' },
{ key: 2, value: 'b' },
{ key: 3, value: 'd' }
]
这里只保留了每个key出现的第一个元素,其他重复的元素被删除了。
领取专属 10元无门槛券
手把手带您无忧上云