เรามีอาร์เรย์ซ้อนของสตริง และเราต้องเขียนฟังก์ชันที่รับอาร์เรย์และสตริงค้นหา และคืนค่าจำนวนครั้งที่สตริงนั้นปรากฏในอาร์เรย์ซ้อน
มาเขียนโค้ดสำหรับนี้ เราจะใช้ recursion เพื่อค้นหาในอาร์เรย์ซ้อน โค้ดจะเป็นดังนี้:
ตัวอย่างโค้ด
const arr = [
"apple",
["banana", "strawberry", "dsffsd", "apple"],
"banana",
["sdfdsf", "apple", ["apple", ["nonapple", "apple", ["apple"]]]],
"apple"
];
const calculateCount = (arr, query) => {
let count = 0;
for (let i = 0; i < arr.length; i++) {
if (arr[i] === query) {
count++;
continue;
}
if (Array.isArray(arr[i])) {
count += calculateCount(arr[i], query);
}
}
return count;
};
console.log(calculateCount(arr, "apple"));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็นดังนี้:
7