Подсчет дубликатов в массиве объектов

У меня есть следующий массив объектов на стороне JS на стороне сервера:

[
    {
        "Company": "IBM"
    },
    {
        "Person": "ACORD LOMA"
    },
    {
        "Company": "IBM"
    },
    {
        "Company": "MSFT"
    },
    {
        "Place": "New York"
    }
]

Мне нужно выполнить итерацию по этой структуре , обнаружить любые дубликаты, а затем создать счетчик дубликатов, найденных рядом с каждым значением.

Оба значения должны совпадать, чтобы считаться дубликатом, например. «Компания»: «IBM» не соответствует «Компания»: «MSFT».

При необходимости у меня есть возможность изменить входящий массив объектов. Я хотел бы, чтобы вывод был объектом, но я действительно изо всех сил пытаюсь заставить это работать.

РЕДАКТИРОВАТЬ: Вот код, который у меня есть до сих пор, где processArray — это массив, как указано выше.

var returnObj = {};

    for(var x=0; x < processArray.length; x++){

        //Check if we already have the array item as a key in the return obj
        returnObj[processArray[x]] = returnObj[processArray[x]] || processArray[x].toString();

        // Setup the count field
        returnObj[processArray[x]].count = returnObj[processArray[x]].count || 1;

        // Increment the count
        returnObj[processArray[x]].count = returnObj[processArray[x]].count + 1;

    }
    console.log('====================' + JSON.stringify(returnObj));
6
задан isherwood 27 June 2018 в 16:57
поделиться