在 JavaScript 中检查数组中有多少个具有相同键的对象
javascriptweb developmentfront end technologyobject oriented programming
假设,我们有一个对象数组,其中包含一些有关某些用户的数据,例如 −
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 }