আমাদের একটি ফাংশন লিখতে হবে, বলুন searchRecursively() যা একটি অ্যারে এবং একটি অনুসন্ধান ক্যোয়ারী নেয় এবং নেস্টেড অ্যারেতে সেই সার্চ কোয়েরির গণনা ফেরত দেয়।
উদাহরণস্বরূপ, যদি অ্যারেটি −
দ্বারা দেওয়া হয়const names = ["rakesh", ["kalicharan", "krishna", "rakesh", "james", ["michael", "nathan", "rakesh", "george"]]];
তারপর -
searchRecursively(names, ‘’rakesh’);
3টি ফেরত দেওয়া উচিত কারণ এটি অ্যারেতে মোট 3টি উপস্থিতি তৈরি করে৷ অতএব, আসুন এই রিকার্সিভ ফাংশনের জন্য কোড লিখি -
উদাহরণ
const names = ["rakesh", ["kalicharan", "krishna", "rakesh", "james",
["michael", "nathan", "rakesh", "george"]]];
const searchRecursively = (arr, query, count = 0, len = 0) => {
if(len < arr.length){
if(Array.isArray(arr[len])){
return searchRecursively(arr[len], query, count, 0);
};
if(arr[len] === query){
return searchRecursively(arr, query, ++count, ++len);
};
return searchRecursively(arr, query, count, ++len);
};
return count;
};
console.log(searchRecursively(names, "rakesh")); আউটপুট
কনসোলে আউটপুট হবে −
3