在 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