const log = console.log.bind(console);
const individuals = [
{ id: 0, name: "Xiao Ming" },
{ id: 1, name: "Xiao Zhang" },
{ id: 2, name: "Xiao Li" },
{ id: 3, name: "Xiao Sun" },
{ id: 1, name: "Xiao Zhou" },
{ id: 2, name: "Xiao Chen" }
];
const seen = {};
const uniqueIndividuals = individuals.reduce((accumulator, current) => {
if (!seen[current.id]) {
seen[current.id] = true;
accumulator.push(current);
}
return accumulator;
}, []);
log(uniqueIndividuals);
const sourceArray = [
{ id: 1, name: "Zhang San", age: 18, contactId: 1 },
{ id: 1, name: "Zhang San", age: 18, contactId: 2 },
{ id: 1, name: "Zhang San", age: 18, contactId: 3 },
{ id: 1, name: "Zhang San", age: 18, contactId: 14 },
{ id: 1, name: "Zhang San", age: 18, contactId: 3 },
{ id: 1, name: "Zhang San", age: 18, contactId: 2 },
{ id: 1, name: "Zhang San", age: 18, contactId: 1 }
];
const resultArray = [];
// jQuery approach
$.each(sourceArray, function(index, item) {
let exists = false;
$.each(resultArray, function(innerIndex, existingItem) {
if (existingItem.contactId === item.contactId) {
exists = true;
return false; // break loop
}
});
if (!exists) {
resultArray.push(item);
}
});
// Vanilla JavaScript approach
for (let i = 0; i < sourceArray.length; i++) {
let found = false;
for (let j = 0; j < resultArray.length; j++) {
if (sourceArray[i].id === resultArray[j].id) {
found = true;
break;
}
}
if (!found) {
resultArray.push(sourceArray[i]);
}
}
function findMatchingUser() {
for (let i = 0; i < self.tableDataUser.length; i++) {
if (self.radioUser.indexOf(self.tableDataUser[i].userId) > -1) {
return self.tableDataUser[i];
}
}
return null;
}