Computer >> Máy Tính >  >> Lập trình >> Javascript

Tìm giá trị và tần suất tương đương trong mảng trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript lấy một mảng số nguyên làm đối số duy nhất.

Hàm nên kiểm tra xem có tồn tại một số nguyên trong mảng sao cho tần số của nó là tên của giá trị của nó hay không.

Nếu tồn tại ít nhất một số nguyên như vậy, chúng ta nên trả về số nguyên đó, nếu không chúng ta sẽ trả về -1.

Ví dụ -

Nếu mảng đầu vào là -

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

Sau đó, đầu ra phải là -

const output = 4;

Ví dụ

Sau đây là mã -

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));

Đầu ra

Sau đây là đầu ra của bảng điều khiển -

4