Mapping array of objects and adding property based on calculation of values

I have array of objects

const tableRows = [
  {
    id: "dba3d111",
    name : "Budget 1",
    dropdownOptions: [
      {
        "id": "UUID1",
        "type": "Expenditure: Administration",
        "name": "Office Supplies 1",
        "chosen": true
      },
      {
        "id": "UUID2",
        "type": "Expenditure: Administration",
        "name": "Office Supplies 2",
        "chosen": false
      },
       {
        "id": "UUID3",
        "type": "Expenditure: Administration",
        "name": "Office Supplies 3",
        "chosen": false
      },
      {
        "id": "UUID4",
        "type": "Liability Group",
        "name": "Vehicles 1",
        "chosen": false
      },
      {
        "id": "UUID5",
        "type": "Liability Group",
        "name": "Vehicles 2",
        "chosen": false
      },
      {
        "id": "UUID6",
        "type": "Liability Group",
        "name": "Vehicles 3",
        "chosen": false
      },
      {
        "id": "UUID7",
        "type": "Liability Group",
        "name": "Vehicles 4",
        "chosen": false
      }
    ]
  },
  {
    id: "dba3d222",
    name : "Budget 2",
    dropdownOptions: [
      {
        "id": "UUID1",
        "type": "Expenditure: Administration",
        "name": "Office Supplies 1",
        "chosen": false
      },
      {
        "id": "UUID2",
        "type": "Expenditure: Administration",
        "name": "Office Supplies 2",
        "chosen": true
      },
       {
        "id": "UUID3",
        "type": "Expenditure: Administration",
        "name": "Office Supplies 3",
        "chosen": false
      },
      {
        "id": "UUID4",
        "type": "Liability Group",
        "name": "Vehicles 1",
        "chosen": false
      },
      {
        "id": "UUID5",
        "type": "Liability Group",
        "name": "Vehicles 2",
        "chosen": false
      },
      {
        "id": "UUID6",
        "type": "Liability Group",
        "name": "Vehicles 3",
        "chosen": false
      },
      {
        "id": "UUID7",
        "type": "Liability Group",
        "name": "Vehicles 4",
        "chosen": false
      }
    ]
  },
  {
    id: "dba3d333",
    name : "Budget 3",
    dropdownOptions: [
      {
        "id": "UUID1",
        "type": "Expenditure: Administration",
        "name": "Office Supplies 1",
        "chosen": false
      },
      {
        "id": "UUID2",
        "type": "Expenditure: Administration",
        "name": "Office Supplies 2",
        "chosen": false
      },
       {
        "id": "UUID3",
        "type": "Expenditure: Administration",
        "name": "Office Supplies 3",
        "chosen": true
      },
      {
        "id": "UUID4",
        "type": "Liability Group",
        "name": "Vehicles 1",
        "chosen": false
      },
      {
        "id": "UUID5",
        "type": "Liability Group",
        "name": "Vehicles 2",
        "chosen": false
      },
      {
        "id": "UUID6",
        "type": "Liability Group",
        "name": "Vehicles 3",
        "chosen": false
      },
      {
        "id": "UUID7",
        "type": "Liability Group",
        "name": "Vehicles 4",
        "chosen": false
      }
    ]
  }
];

I need to achieve the followings:
Count the amount of chosen options and if every option of each type has been chosen at least once I need to add property to option called disableType: true. For the rest of option types disableType: false needs to be added.

So the final output looks like:

const tableRows = [
      {
        id: "dba3d111",
        name : "Budget 1",
        dropdownOptions: [
          {
            "id": "UUID1",
            "type": "Expenditure: Administration",
            "name": "Office Supplies 1",
            "chosen": true,
            "disableType": true,
          },
          {
            "id": "UUID2",
            "type": "Expenditure: Administration",
            "name": "Office Supplies 2",
            "chosen": false,
            "disableType": true
          },
           {
            "id": "UUID3",
            "type": "Expenditure: Administration",
            "name": "Office Supplies 3",
            "chosen": false,
            "disableType": true
          },
          {
            "id": "UUID4",
            "type": "Liability Group",
            "name": "Vehicles 1",
            "chosen": false,
            "disableType": false
          },
          {
            "id": "UUID5",
            "type": "Liability Group",
            "name": "Vehicles 2",
            "chosen": false,
            "disableType": false
          },
          {
            "id": "UUID6",
            "type": "Liability Group",
            "name": "Vehicles 3",
            "chosen": false,
            "disableType": false
          },
          {
            "id": "UUID7",
            "type": "Liability Group",
            "name": "Vehicles 4",
            "chosen": false,
            "disableType": false
          }
        ]
      },
      {
        id: "dba3d222",
        name : "Budget 2",
        dropdownOptions: [
          {
            "id": "UUID1",
            "type": "Expenditure: Administration",
            "name": "Office Supplies 1",
            "chosen": false,
            "disableType": true,
          },
          {
            "id": "UUID2",
            "type": "Expenditure: Administration",
            "name": "Office Supplies 2",
            "chosen": true,
            "disableType": true,
          },
           {
            "id": "UUID3",
            "type": "Expenditure: Administration",
            "name": "Office Supplies 3",
            "chosen": false,
            "disableType": true,
          },
          {
            "id": "UUID4",
            "type": "Liability Group",
            "name": "Vehicles 1",
            "chosen": false,
            "disableType": false
          },
          {
            "id": "UUID5",
            "type": "Liability Group",
            "name": "Vehicles 2",
            "chosen": false,
            "disableType": false
          },
          {
            "id": "UUID6",
            "type": "Liability Group",
            "name": "Vehicles 3",
            "chosen": false,
            "disableType": false
          },
          {
            "id": "UUID7",
            "type": "Liability Group",
            "name": "Vehicles 4",
            "chosen": false,
            "disableType": false
          }
        ]
      },
      {
        id: "dba3d333",
        name : "Budget 3",
        dropdownOptions: [
          {
            "id": "UUID1",
            "type": "Expenditure: Administration",
            "name": "Office Supplies 1",
            "chosen": false,
            "disableType": true,
          },
          {
            "id": "UUID2",
            "type": "Expenditure: Administration",
            "name": "Office Supplies 2",
            "chosen": false,
            "disableType": true,
          },
           {
            "id": "UUID3",
            "type": "Expenditure: Administration",
            "name": "Office Supplies 3",
            "chosen": true,
            "disableType": true,
          },
          {
            "id": "UUID4",
            "type": "Liability Group",
            "name": "Vehicles 1",
            "chosen": false,
            "disableType": false
          },
          {
            "id": "UUID5",
            "type": "Liability Group",
            "name": "Vehicles 2",
            "chosen": false,
            "disableType": false
          },
          {
            "id": "UUID6",
            "type": "Liability Group",
            "name": "Vehicles 3",
            "chosen": false,
            "disableType": false
          },
          {
            "id": "UUID7",
            "type": "Liability Group",
            "name": "Vehicles 4",
            "chosen": false,
            "disableType": false
          }
        ]
      }
    ]

Please note that each option can only be selected once in each type and all more than one option of each type can be chosen in the same row, eg

[
      {
        "id": "UUID1",
        "type": "Expenditure: Administration",
        "name": "Office Supplies 1",
        "chosen": true
      },
      {
        "id": "UUID2",
        "type": "Expenditure: Administration",
        "name": "Office Supplies 2",
        "chosen": true
      },
       {
        "id": "UUID3",
        "type": "Expenditure: Administration",
        "name": "Office Supplies 3",
        "chosen": true
      },
]

So far I can calculate amount of options in each group with

const optionsCounter = {};
const selectedOptionsCounter = {};

tableRows[0].dropdownOptions.forEach((opt) => {
      optionsCounter[opt.type] = (optionsCounter[opt.type] || 0) + 1;
    });

tableRows.forEach((row) => {
      row.dropdownOptions.forEach((opt) => {
        if(opt.chosen === true) {
          selectedOptionsCounter[opt.type] = (selectedOptionsCounter[opt.type] || 0) + 1;
        }
        
      })
    })

Now I need to compare the values of optionsCounter and selectedOptionsCounter objects and assign disableType: true to the corresponding types if the object values are the and disableType: false for the other types.

At the moment the calculations are:

optionsCounter = {
 "Expenditure: Administration": 3,
  "Liability Group": 4
}

and

selectedOptionsCounter = {
 "Expenditure: Administration": 3
}

what makes sense, but I have no idea what to do next to solve my problem