यह एक प्रसिद्ध दुविधा है कि जब हम नेस्टेड ऐरे यानी बहुआयामी ऐरे के अंदर 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