Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

ZandA's avatar
Level 1

Find if array has duplicated objects

I have an array :

[
{"name" : "a","code" : "001"},
{"name" : "a","code" : "002"},
{"name" : "b","code" : "001"},
{"name" : "a","code" : "002"}
]

so object[1] and object[3] are duplicated (the same name and code), how can I check this

0 likes
1 reply
tangtang's avatar

@zanda

you can use this code as reference

const data = [
    { "name": "a", "code": "001" },
    { "name": "a", "code": "002" },
    { "name": "b", "code": "001" },
    { "name": "a", "code": "002" }
];

function hasDuplicateRow(arr, item) {
    for (const element of arr) {
        if (element.name === item.name && element.code === item.code) {
            return true;
        }
    }
    return false;
}

function findDuplicateRows(arr) {
    const duplicates = [];
    for (let i = 0; i < arr.length; i++) {
        if (hasDuplicateRow(arr.slice(i + 1), arr[i])) {
            duplicates.push(arr[i]);
        }
    }
    return duplicates;
}

const duplicateRows = findDuplicateRows(data);
console.log("Duplicate rows:", duplicateRows);

Please or to participate in this conversation.