JSFiddle - React, Tailwind, and code Playground

JavaScript

var items = [{
    "value": 10,
    "id": "111",
    "name": "BlackCat",
}, {
    "value": 10,
    "id": "111",
    "name": "BlackCat",
}, {
    "value": 15,
    "id": "777",
    "name": "WhiteCat",
}]

var combinedItems = items.reduce(function(arr, item) {
    var found = false;
    
    for (var i = 0; i < arr.length; i++) {
        if (arr[i].id === item.id) {
            found = true;
            arr[i].count++;
        }
    }
    
    if (!found) {
    		item.count = 1;
        arr.push(item);
    }
    
    return arr;
}, [])

console.log(combinedItems);