数组中有很多元素,也有重复的:想要获取数组中重复数量最多的那个元素以及出现的次数
let str = ['a', 'b', 'a', 's', 'f', 'g', 'g', 'g', 'h', 'j', 'j', 'k', 'k', 'g', 'f', 'd', 'd', 's', 's', 's', 's', 's', '3', '4', '4', '4', '3', '4', '3'];
// 思路:数组的下标是自动增长,是数字
// 如果可以变成这样:
// {
// s : 6,
// f : 1,
// a : 2,
// }
// 1. 创建一个对象:空对象
let obj = {};
// 2. 遍历数组:取出每一个元素:a,b,s,f,g,'3'...
for (let i = 0; i < str.length; i++) {
// console.log(i);
// console.log(str[i]);
// 2.1 尝试去对象中寻找对应的属性: 对象['a'] == undefined
// * 如果 对象['a'] === undefined:对象中没有a
if (obj[str[i]] === undefined) {
// ** 给对象增加一个a属性:值为1 对象['a'] = 1
obj[str[i]] = 1;
}
// * 如果 对象['a'] !== undefined:对象中有a属性
else if (obj[str[i]] !== undefined) {
obj[str[i]]++;
}
// ** 给a属性的值 + 1:对象['a']++
}
console.log(obj);
let max = 0;
let maxStr = '';
for (let i in obj) {
if (max < obj[i]) {
max = obj[i];
maxStr = i;
}
}
console.log(`${maxStr}:${max}`);
2020-09-12
最新推荐文章于 2024-10-07 09:24:46 发布