Chúng ta cần viết một hàm JavaScript nhận vào một mảng số nguyên làm đối số đầu tiên và duy nhất.
Hàm cần đếm số lượng tất cả các cặp phần tử từ mảng mà bằng nhau về giá trị nhưng ở chỉ số khác nhau.
Ví dụ:
Nếu mảng đầu vào là:
const arr = [7, 9, 5, 7, 7, 5];
Thì đầu ra nên là:
const output = 4;
vì các cặp mong muốn là [7, 7], [7, 7], [7, 7], [5, 5]
Ví dụ
Dưới đây là mã nguồn:
const arr = [7, 9, 5, 7, 7, 5]; const equalPairCount = (arr = []) => { if(!arr?.length){ return 0; }; const map = {} let count = 0; arr.forEach((val) => { if (map[val]) { count += map[val]; }; map[val] = map[val] + 1 || 1; }); return count; }; console.log(equalPairCount(arr));Kết quả
Đầu ra trên console:
4
Giải thích: Đếm cặp (i,j) với i