使用 JavaScript 檢查陣列中有多少個物件具有相同的鍵
假設我們有一個物件陣列,其中包含有關某些使用者的一些資料,如下所示 −
const arr = [ { "name":"aaa", "id":"2100", "designation":"developer" }, { "name":"bbb", "id":"8888", "designation":"team lead" }, { "name":"ccc", "id":"6745", "designation":"manager" }, { "name":"aaa", "id":"9899", "designation":"sw" } ];
我們需要編寫一個 JavaScript 函式,該函式接收一個這樣的陣列。然後,我們的函式應該返回一個新物件,其中包含所有 name 屬性值,這些值對映到包含該特定 name 屬性的計數。
因此,對於上述陣列,輸出應如下所示 −
const output = { "aaa": 2, "bbb": 1, "ccc": 1 };
示例
程式碼如下 −
const arr = [ { "name":"aaa", "id":"2100", "designation":"developer" }, { "name":"bbb", "id":"8888", "designation":"team lead" }, { "name":"ccc", "id":"6745", "designation":"manager" }, { "name":"aaa", "id":"9899", "designation":"sw" } ]; const countNames = (arr = []) => { const res = {}; for(let i = 0; i < arr.length; i++){ const { name } = arr[i]; if(res.hasOwnProperty(name)){ res[name]++; } else{ res[name] = 1; }; }; return res; }; console.log(countNames(arr));
輸出
控制檯中的輸出為 −
{ aaa: 2, bbb: 1, ccc: 1 }
廣告