เป็นปัญหาที่รู้จักกันดีว่าเมื่อเราใช้ include() ภายในอาร์เรย์ที่ซ้อนกัน เช่น multidimensionalarray มันไม่ทำงาน มีฟังก์ชัน Array.prototype.flat() ที่ทำให้อาร์เรย์แบนแล้วค้นหาผ่าน แต่เบราว์เซอร์ไม่รองรับ ดีมากเลย
ดังนั้นงานของเราคือสร้างฟังก์ชัน includeMultiDimension() ที่รับอาร์เรย์และสตริงและส่งคืนบูลีนตามการมีอยู่/ไม่มีของสตริงนั้นในอาร์เรย์
มีวิธีแก้ไขปัญหานี้มากมาย ส่วนใหญ่รวมถึงการเรียกซ้ำ, ฟังก์ชันอาร์เรย์หนัก, การวนซ้ำ และอีกมากมาย
สิ่งที่เราจะพูดถึงในที่นี้เป็นวิธีที่ง่ายที่สุดในการตรวจสอบการมีอยู่/ไม่มีสตริงในอาร์เรย์ที่ซ้อนกัน
รหัสสำหรับสิ่งนี้คือ −
ตัวอย่าง
const names = ['Ram', 'Shyam', 'Laxman', [ 'Jay', 'Jessica', [ 'Vikram' ] ]]; const includesMultiDimension = (arr, str) => JSON.stringify(arr).includes(str); console.log(includesMultiDimension(names, 'Vikram'));
โซลูชันหนึ่งบรรทัดนี้รวมถึงการแปลงอาร์เรย์เป็นสตริง JSON เพื่อให้เราสามารถรวมเข้ากับอาร์เรย์ได้
ผลลัพธ์
เอาต์พุตคอนโซลจะเป็น −
True