Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Cặp phần tử giống nhau tại chỉ số khác nhau trong JavaScript

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