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

So sánh các phần tử mảng luôn ghi nhớ số lượng trong JavaScript

Giả sử, chúng ta có hai mảng chữ chứa cùng một số phần tử. Chúng ta phải viết một hàm để kiểm tra xem cả hai mảng có chứa các phần tử giống nhau xuất hiện với cùng một số lần hay không.

Nếu các mảng đáp ứng điều kiện này, chúng tôi trả về true, ngược lại là false.

Chúng ta sẽ tạo một bản sao của mảng thứ hai và bắt đầu lặp lại mảng đầu tiên. Khi chúng ta lặp lại, chúng ta sẽ tiếp tục xóa các phần tử khỏi mảng thứ hai có trong mảng đầu tiên. Nếu trong quá trình lặp lại, chúng tôi gặp bất kỳ phần tử nào không có trong mảng thứ hai, chúng tôi trả về false. Nếu không, khi kết thúc quá trình lặp lại, chúng tôi sẽ trả về true.

Ví dụ

Mã cho điều này sẽ là -

const arr1 = [2, 5, 7, 4, 3, 3];
const arr2 = [3, 5, 7, 2, 3, 4];
const compareWithCount = (arr1, arr2) => {
   if(arr1.length !== arr2.length){
      return false;
   };
   const copy2 = arr2.slice();
   const areEqual = arr1.every(el => {
      if(!copy2.includes(el)){
         return false;
      };
      copy2.splice(copy2.indexOf(el), 1);
      return true;
   });
   return areEqual;
};
console.log(compareWithCount(arr1, arr2));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

true