在 JavaScript 中将具有重复值的数组转换为具有重复出现次数的对象
javascriptweb developmentfront end technologyobject oriented programming更新于 2024/1/3 10:20:17
假设我们有一个包含一些重复条目的数组字符串,例如 −
const arr = ['California','Texas','Texas','Texas','New York','Missouri','New Mexico','California'];
我们需要编写一个 JavaScript 函数来接收一个这样的数组。然后,我们的函数应该构造一个对象数组,其中包含每个唯一条目的对象和一个属性"count"包含原始数组中的计数。
因此,上述数组的最终输出应如下所示 −
const output = [
{'name':'California', 'count':2},
{'name':'Texas', 'count':3},
{'name':'New York', 'count':1},
{'name':'Missouri', 'count':1},
{'name':'New Mexico', 'count':1},
];
示例
其代码为 −
const arr = ['California','Texas','Texas','Texas','New York','Missouri','New Mexico','California'];
const findOccurrences = (arr = []) => {
const res = [];
arr.forEach(el => {
const index = res.findIndex(obj => {
return obj['name'] === el;
});
if(index === -1){
res.push({
"name": el,
"count": 1
})
}
else{
res[index]["count"]++;
};
});
return res;
};
console.log(findOccurrences(arr));
输出
控制台中的输出将是 −
[
{ name: 'California', count: 2 },
{ name: 'Texas', count: 3 },
{ name: 'New York', count: 1 },
{ name: 'Missouri', count: 1 },
{ name: 'New Mexico', count: 1 }
]
相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

