finding duplicates in javascript array code example
Example 1: js find duplicates in array
const names = ['Mike', 'Matt', 'Nancy', 'Adam', 'Jenny', 'Nancy', 'Carl']
const count = names =>
names.reduce((a, b) => ({ ...a,
[b]: (a[b] || 0) + 1
}), {}) // don't forget to initialize the accumulator
const duplicates = dict =>
Object.keys(dict).filter((a) => dict[a] > 1)
console.log(count(names)) // { Mike: 1, Matt: 1, Nancy: 2, Adam: 1, Jenny: 1, Carl: 1 }
console.log(duplicates(count(names))) // [ 'Nancy' ]
Example 2: javascript find duplicate in array
// JavaScript - finds if there is duplicate in an array.
// Returns True or False.
const isThereADuplicate = function(arrayOfNumbers) {
// Create an empty associative array or hash.
// This is preferred,
let counts = {};
// // but this also works. Comment in below and comment out above if you want to try.
// let counts = [];
for(var i = 0; i <= arrayOfNumbers.length; i++) {
// As the arrayOfNumbers is being iterated through,
// the counts hash is being populated.
// Each value in the array becomes a key in the hash.
// The value assignment of 1, is there to complete the hash structure.
// Once the key exists, meaning there is a duplicate, return true.
// If there are no duplicates, the if block completes and returns false.
if(counts[arrayOfNumbers[i]] === undefined) {
counts[arrayOfNumbers[i]] = 1;
} else {
return true;
}
}
return false;
}
Example 3: javascript get duplicates in array
function getDuplicateArrayElements(arr){
var sorted_arr = arr.slice().sort();
var results = [];
for (var i = 0; i < sorted_arr.length - 1; i++) {
if (sorted_arr[i + 1] === sorted_arr[i]) {
results.push(sorted_arr[i]);
}
}
return results;
}
var colors = ["red","orange","blue","green","red","blue"];
var duplicateColors= getDuplicateArrayElements(colors);//["blue", "red"]