我想知道如何从数组中删除唯一元素。例如:
var arr = [1, 2, 2, 4, 4]会回来[2, 2, 4, 4]。哪里[1, 2, 3]会返回,[]因为所有元素都是唯一的。
我相信我需要用数组中的每个其他元素检查每个元素,但我不知道如何去做。
谢谢!
使用 ES6,您可以使用 aArray#map并使用 计算值Array#forEach。
稍后使用Array#filter并检查计数。
如果大于则1返回true(结果集中包含该项),否则返回false(结果集中不包含该项)。
function getNotUnique(array) {
var map = new Map();
array.forEach(a => map.set(a, (map.get(a) || 0) + 1));
return array.filter(a => map.get(a) > 1);
}
console.log(getNotUnique([1, 2, 2, 4, 4]));
console.log(getNotUnique([1, 2, 3] ));Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6902 次 |
| 最近记录: |