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

Số lần xuất hiện duy nhất của các phần tử trong một mảng trong JavaScript

Chúng tôi bắt buộc phải viết một hàm JavaScript lấy một mảng các số nguyên làm đối số đầu tiên và duy nhất.

Hàm sẽ cho dù tất cả các số nguyên có trong mảng có xuất hiện cho một số lần duy nhất hay không.

Nếu đúng như vậy, hàm sẽ trả về true, ngược lại là false.

Ví dụ -

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

const arr = [7, 5, 5, 8, 2, 4, 7];

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

const output = false;

vì cả số nguyên 7 và 5 đều xuất hiện 2 lần mỗi số.

Trước tiên, chúng tôi sẽ sử dụng một bản đồ băm để ánh xạ các số nguyên với tần số của chúng (số lần xuất hiện) và sau đó sử dụng bản đồ đó để xây dựng một tập hợp lưu trữ các tần số duy nhất.

Ví dụ

Sau đây là mã -

const arr = [7, 5, 5, 8, 2, 4, 7];
const uniqueAppearances = (arr = []) => {
   const map = {};
   const set = new Set();
   for(let i = 0; i < arr.length; i++){
      const el = arr[i];
      map[el] = (map[el] || 0) + 1;
   };
   for(key in map){
      const value = map[key];
      if(set.has(value)){
         return false;
      };
      set.add(value);
   };
   return true;
};
console.log(uniqueAppearances(arr));

Đầu ra

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

false