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

Kiểm tra bằng nhau của hai mảng trong JavaScript


Chúng ta cần viết hàm JavaScript nhận vào hai mảng số và kiểm tra sự bằng nhau dựa trên hai điều kiện:

  • Hai mảng bằng nhau nếu chứa cùng các phần tử (bỏ qua thứ tự).
  • Hoặc nếu tổng các phần tử của hai mảng bằng nhau.

Ví dụ: [3,5,6,7,7] và [7,5,3,7,6] bằng nhau; [1,2,3,1,2] và [7,2] cũng bằng nhau (tổng bằng nhau); nhưng [3,4,2,5] và [2,3,1,4] không bằng nhau.

Dưới đây là mã:

Ví dụ

const first = [3, 5, 6, 7, 7]; const second = [7, 5, 3, 7, 6]; const isEqual = (first, second) => { const sumFirst = first.reduce((acc, val) => acc+val); const sumSecond = second.reduce((acc, val) => acc+val); if(sumFirst === sumSecond){ return true; }; const firstCopy = first.slice(); const secondCopy = second.slice(); for(let i = 0; i < firstCopy.length; i++){ const ind = secondCopy.indexOf(firstCopy[i]); if(ind === -1){ return false; }; secondCopy.splice(ind, 1); }; return true; }; console.log(isEqual(first, second));

Kết quả

Đầu ra trong console sẽ là:

true