Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วนลูปอาร์เรย์แบบเวียนเกิดและนับจำนวนไอเท็มใน JavaScript


เราต้องเขียนฟังก์ชัน เช่น searchRecursively() ที่รับอาร์เรย์และคำค้นหา และคืนค่าจำนวนของคำค้นหานั้นในอาร์เรย์ซ้อน (nested array)

ตัวอย่าง ถ้าอาร์เรย์กำหนดโดย −

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