javascript求一个数组中重复出现次数最多的元素及其下标位置
时间: 2023-09-07 22:04:15 浏览: 104
JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例
5星 · 资源好评率100%
要求找出一个数组中重复出现次数最多的元素及其下标位置,可以使用JavaScript来实现。
首先,我们可以使用一个对象来统计数组中各个元素的出现次数。遍历数组,对于每一个元素,如果对象中已经存在该元素的属性,则将该属性的值加1;如果不存在,则在对象中创建该属性,并将值设置为1。
接着,我们可以遍历统计出来的对象,找到出现次数最多的元素及其对应的下标位置。定义两个变量,一个用于保存出现次数最多的元素,另一个用于保存该元素的下标位置。首先,假设出现次数最多的元素为数组中的第一个元素,并将其下标位置设为0。然后,遍历统计结果对象,对于每一对属性和值,如果值大于出现次数最多的元素的次数,更新出现次数最多的元素和其下标位置。
最后,返回出现次数最多的元素及其下标位置。代码如下所示:
```javascript
function findMostFrequentElement(arr) {
let countObj = {};
let mostFrequentElement = arr[0];
let mostFrequentIndex = 0;
// 统计数组中每个元素的出现次数
for (let i = 0; i < arr.length; i++) {
if (countObj[arr[i]]) {
countObj[arr[i]] += 1;
} else {
countObj[arr[i]] = 1;
}
}
// 找出出现次数最多的元素及其下标位置
for (let key in countObj) {
if (countObj[key] > countObj[mostFrequentElement]) {
mostFrequentElement = key;
mostFrequentIndex = arr.indexOf(key);
}
}
return {
element: mostFrequentElement,
index: mostFrequentIndex
};
}
let arr = [1, 2, 3, 2, 2, 4, 5, 4];
let result = findMostFrequentElement(arr);
console.log(result); // { element: 2, index: 1 }
```
这样,我们就可以得到数组中重复出现次数最多的元素及其下标位置。在给定的示例数组`[1, 2, 3, 2, 2, 4, 5, 4]`中,元素2重复出现了3次,其下标位置为1,所以返回的结果为`{ element: 2, index: 1 }`。
阅读全文