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

JavaScript array.inc bao gồm bên trong mảng lồng nhau trả về false khi tên được tìm kiếm nằm trong mảng

Một tình huống khó xử nổi tiếng là khi chúng ta sử dụng include () bên trong các mảng lồng nhau, tức là mảng đa chiều, nó không hoạt động, có tồn tại một hàm Array.prototype.flat () làm phẳng mảng rồi tìm kiếm nhưng nó không hỗ trợ trình duyệt. rất tốt.

Vì vậy, công việc của chúng ta là tạo một hàm includeMultiDimension () nhận vào một mảng và một chuỗi và trả về một boolean dựa trên sự hiện diện / vắng mặt của chuỗi đó trong mảng.

Có nhiều giải pháp cho vấn đề này, hầu hết chúng bao gồm đệ quy, hàm mảng nặng, vòng lặp và những gì không.

Những gì chúng ta sẽ thảo luận ở đây là cách dễ nhất để kiểm tra sự hiện diện / vắng mặt của chuỗi trong các mảng lồng nhau.

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

Ví dụ

const names = ['Ram', 'Shyam', 'Laxman', [
   'Jay', 'Jessica', [
      'Vikram'
   ]
]];
const includesMultiDimension = (arr, str) =>
JSON.stringify(arr).includes(str);
console.log(includesMultiDimension(names, 'Vikram'));

Giải pháp một dòng này bao gồm chuyển đổi mảng thành một chuỗi JSON để chúng tôi có thể chỉ cần áp dụng bao gồm nó.

Đầu ra

Đầu ra của bảng điều khiển sẽ là -

True