使用 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 }

更新日期:20-Nov-2020

562 閱覽

開啟您的 事業

完成課程並獲得認證

開始
廣告