Herkese merhaba. Bu içerikte yakın zamanda TypeScript üzerinde ihtiyaç duyduğum ve bir türlü recursive function ile çözemediğim bir sorunun araştırmalarım doğrultusunda bulduğum çözümünü sizinle paylaşıyor olacağım. Belki script dillere hakim olanlar bu duruma gülecek ve hatta “yok yaw, çöze çöze bunu mu çözdün?” diyeceklerdir ancak yine de bu içeriğin hâlâ bu tür esnek dillere alışamamış birisi olan benimle aynı sorunları yaşayan arkadaşlara yardımcı olacağını umuyorum. Her neyse, lafı fazla uzatmayalım…

Aşağıda gördüğünüz üzere içiçe bir yapıda oluşturulmuş bir array var ve bu array içerisinde her objenin kendisine ait benzersiz bir ID’si bulunmakta. Zaten normal şartlarda da bu tür arraylerde objelerin mutlaka benzersiz ID’leri olmak zorunda, bunu da yeri gelmişken söylemiş olayım. Hemen altında ise arrow function olarak tanımlanmış findItemInNestedArray() adlı fonksiyon bulunmakta. Bu fonksiyona parametre olarak arrayin kendisini, arama yapacağımız benzersiz ID’yi ve nested yapıyı sağlayan attribute adını verdiğimizde (aşağıdaki örnekte “children”) geriye döndürdüğü pointer verdiğimiz ID’nin sahibi olan objenin pointeri oluyor.

Methodun içerisine baktığımızda aslında yapının yine recursive function şeklinde çalıştığını görüyoruz ancak methodu arrow function olarak değil de normal bir fonksiyon olarak tanımladığımızda çalışmıyor. İnanın sebebini şu anda ben de bilmiyorum ancak olayı tam olarak kavradığımda onu da buraya güncelleme olarak ekleyeceğim mutlaka. Şimdilik kodun ne yaptığına bakmadan kullanmak en mantıklısı olacak gibi…

CEVAP VER

Please enter your comment!
Please enter your name here