JSFiddle - React, Tailwind, and code Playground
by Graham Fairweather
JavaScript
function getUniqueAndduplicatesWithIndicies(array) {
return array.reduce(function (acc, curr, index, arr) {
if (acc.duplicates.values.indexOf(curr) !== -1 || arr.lastIndexOf(curr) !== index) {
acc.duplicates.values.push(curr);
acc.duplicates.indicies.push(index);
} else {
acc.unique.values.push(curr);
acc.unique.indicies.push(index);
}
return acc;
}, {
unique: {
values: [],
indicies: []
},
duplicates: {
values: [],
indicies: []
}
});
}
var setOfValues = [1, 2, 2, 2, 3, 3, 4, 4, 4, 5, 10, 10, 9, 10, 8, 4, 11];
console.log(JSON.stringify(getUniqueAndduplicatesWithIndicies(setOfValues)));