使用 JavaScript 按唯一鍵計數
假設我們有一個物件陣列,如下所示 −
const arr = [ { assigned_user:{ name:'Paul', id: 34158 }, doc_status: "processed" }, { assigned_user:{ name:'Simon', id: 48569 }, doc_status: "processed" }, { assigned_user:{ name:'Simon', id: 48569 }, doc_status: "processed" } ];
我們需要寫一個 JavaScript 函式,它接受一個這樣的物件陣列。 然後,該函式應計算該物件陣列中存在的唯一“使用者”屬性的數量。
然後,該函式應將所有這些唯一物件放入一個新陣列中並返回該陣列。
示例
程式碼如下 −
const arr = [ { assigned_user:{ name:'Paul', id: 34158 }, doc_status: "processed" }, { assigned_user:{ name:'Simon', id: 48569 }, doc_status: "processed" }, { assigned_user:{ name:'Simon', id: 48569 }, doc_status: "processed" } ]; const countUnique = (arr = []) => { let res = []; res = arr.reduce(function (r, o) { let user = o.assigned_user.name; (r[user])? ++r[user] : r[user] = 1; return r; }, {}), result = Object.keys(res).map(function (k) { return {user: k, count: res[k]}; }); return res; } console.log(countUnique(arr));
輸出
控制檯中的輸出為 −
{ Paul: 1, Simon: 2 }
廣告