यह एक प्रसिद्ध दुविधा है कि जब हम नेस्टेड ऐरे यानी मल्टीडाइमेंशनल ऐरे के अंदर includes() का उपयोग करते हैं, तो यह काम नहीं करता। एक Array.prototype.flat() फ़ंक्शन मौजूद है जो ऐरे को फ्लैट करता है और फिर इसके माध्यम से खोजता है लेकिन इसका ब्राउज़र सपोर्ट अभी बहुत अच्छा नहीं है।
तो हमारा काम एक includesMultiDimension() फ़ंक्शन बनाना है जो एक ऐरे और एक स्ट्रिंग लेता है और उस स्ट्रिंग की ऐरे में उपस्थिति/अनुपस्थिति के आधार पर बूलियन लौटाता है।
इस समस्या के कई समाधान मौजूद हैं, उनमें से अधिकांश में रिकर्सन, भारी ऐरे फ़ंक्शन, लूप और क्या नहीं शामिल हैं।
हम यहां जिस पर चर्चा करने जा रहे हैं, वह नेस्टेड ऐरे में स्ट्रिंग की उपस्थिति/अनुपस्थिति की जांच करने का अब तक का सबसे आसान तरीका है।
इसके लिए कोड है:
उदाहरण
const names = ['Ram', 'Shyam', 'Laxman', [
'Jay', 'Jessica', [
'Vikram'
]
]];
const includesMultiDimension = (arr, str) => JSON.stringify(arr).includes(str);
console.log(includesMultiDimension(names, 'Vikram'));
यह वन-लाइन समाधान ऐरे को JSON स्ट्रिंग में बदलने को शामिल करता है ताकि हम बस इस पर includes लागू कर सकें।
आउटपुट
कंसोल आउटपुट होगा:
True