在 JavaScript 数组中寻找等效值和频率


我们需要编写一个 JavaScript 函数,该函数仅以一个整数数组作为参数。

该函数应检查数组中是否存在某个整数,其频率与其值相同。

如果存在至少一个这样的整数,我们应返回该整数,否则应返回 -1。

例如 −

如果输入数组为 −

const arr = [3, 4, 3, 8, 4, 9, 7, 4, 2, 4];

则输出应为 −

const output = 4;

示例

以下是代码 −

const arr = [3, 4, 3, 8, 4, 9, 7, 4, 2, 4];
const checkValueFrequency = (arr = []) => {
   const map = {};
   for(let i = 0; i < arr.length; i++){
      const el = arr[i];
      map[el] = (map[el] || 0) + 1;
   };
   for(key in map){
      if(+key === map[key]){
         return +key;
      };
   };
   return -1;
};
console.log(checkValueFrequency(arr));

输出

以下是控制台输出 −

4

更新于: 2021 年 1 月 22 日

58 次浏览

开启你的职业生涯

完成课程可获得认证

开始学习
广告