{"id":11041,"date":"2025-01-30T13:00:12","date_gmt":"2025-01-30T10:00:12","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/"},"modified":"2025-01-30T13:00:12","modified_gmt":"2025-01-30T10:00:12","slug":"javascriptte-nesneleri-ozyinelemeli-olarak-haritalama","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/","title":{"rendered":"JavaScript&#8217;te Nesneleri \u00d6zyinelemeli Olarak Haritalama"},"content":{"rendered":"<p>JavaScript&#8217;te Nesneleri \u00d6zyinelemeli Olarak Haritalama<\/p>\n<p>Merhaba!  Fatih Soysal olarak, bug\u00fcn JavaScript&#8217;te nesneleri \u00f6zyinelemeli (recursive) olarak haritalaman\u0131n inceliklerini ele alaca\u011f\u0131z. Bu teknik, karma\u015f\u0131k, i\u00e7 i\u00e7e ge\u00e7mi\u015f nesne yap\u0131lar\u0131yla \u00e7al\u0131\u015f\u0131rken olduk\u00e7a faydal\u0131d\u0131r.  \u00d6rne\u011fin, bir e-ticaret sitesindeki \u00fcr\u00fcn kategorilerini veya bir sosyal medya platformundaki kullan\u0131c\u0131 ili\u015fkilerini temsil eden veri yap\u0131lar\u0131n\u0131 d\u00fc\u015f\u00fcn\u00fcn.  Bu t\u00fcr yap\u0131larla \u00e7al\u0131\u015fmak i\u00e7in \u00f6zyinelemeli haritalama, verileri d\u00fczenleme, d\u00f6n\u00fc\u015ft\u00fcrme veya belirli verileri \u00e7\u0131karma gibi i\u015flemleri olduk\u00e7a kolayla\u015ft\u0131r\u0131r.<\/p>\n<p>\u00d6zyinelemeli fonksiyonlar, kendilerini tekrar \u00e7a\u011f\u0131rarak \u00e7al\u0131\u015f\u0131r.  Bu, belirli bir ko\u015ful sa\u011flanana kadar fonksiyonun kendini tekrar tekrar \u00e7al\u0131\u015ft\u0131rmas\u0131na olanak tan\u0131r. Nesneleri \u00f6zyinelemeli olarak haritalamak i\u00e7in, nesnenin yap\u0131s\u0131n\u0131 inceleyip, her bir eleman\u0131 veya alt nesneyi i\u015fleyen bir fonksiyon yazmam\u0131z gerekir.  Bu fonksiyon, nesnenin t\u00fcr\u00fcn\u00fc kontrol ederek, nesne ise alt nesnelerini yineleyerek, dizi ise elemanlar\u0131n\u0131 yineleyerek i\u015flemlerini ger\u00e7ekle\u015ftirir.  Sonras\u0131nda ise, i\u015flenmi\u015f verileri birle\u015ftirerek sonucu d\u00f6nd\u00fcr\u00fcr.<\/p>\n<h2>\u00d6zyinelemeli Haritalama \u00d6rne\u011fi<\/h2>\n<p>\u015eimdi, basit bir \u00f6rnek ile konuyu daha iyi anlayal\u0131m.  A\u015fa\u011f\u0131daki kod, i\u00e7 i\u00e7e ge\u00e7mi\u015f nesnelerden olu\u015fan bir veri yap\u0131s\u0131n\u0131 d\u00fczle\u015ftirir (flatten):<\/p>\n<pre><code class=\"language-javascript\">\nfunction flattenObject(obj) {\n  let result = {};\n  for (let key in obj) {\n    if (typeof obj[key] === 'object') {\n      let flattened = flattenObject(obj[key]); \/\/ \u00d6zyineleme!\n      for (let subKey in flattened) {\n        result[key + '.' + subKey] = flattened[subKey];\n      }\n    } else {\n      result[key] = obj[key];\n    }\n  }\n  return result;\n}\n\nlet nestedObject = {\n  a: 1,\n  b: {\n    c: 2,\n    d: {\n      e: 3\n    }\n  }\n};\n\nlet flattenedObject = flattenObject(nestedObject);\nconsole.log(flattenedObject); \/\/ \u00c7\u0131kt\u0131: { a: 1, 'b.c': 2, 'b.d.e': 3 }\n<\/code><\/pre>\n<p>Bu \u00f6rnekte,  <code>flattenObject<\/code> fonksiyonu, bir nesnenin i\u00e7ini tarar.  E\u011fer bir alt nesne bulursa, kendisini tekrar \u00e7a\u011f\u0131r\u0131r (\u00f6zyineleme).  Bu \u015fekilde, en i\u00e7teki nesneye kadar inerek t\u00fcm verileri d\u00fczle\u015ftirir.  Sonu\u00e7 olarak, i\u00e7 i\u00e7e ge\u00e7mi\u015f nesne, daha kolay i\u015flenebilir bir d\u00fcz nesneye d\u00f6n\u00fc\u015ft\u00fcr\u00fcl\u00fcr.  Bu sayede veri \u00fczerindeki i\u015flemlerimiz daha basit ve anla\u015f\u0131l\u0131r hale gelir.<\/p>\n<h2>\u00d6zyinelemenin Avantajlar\u0131 ve Dezavantajlar\u0131<\/h2>\n<p>\u00d6zyinelemenin bir\u00e7ok avantaj\u0131 vard\u0131r; karma\u015f\u0131k veri yap\u0131lar\u0131yla kolayca ba\u015fa \u00e7\u0131kmak, kodun okunabilirli\u011fini art\u0131rmak ve baz\u0131 durumlarda daha k\u0131sa ve \u00f6z kod yazmak bunlardan baz\u0131lar\u0131d\u0131r. Ancak, dikkatli kullan\u0131lmas\u0131 gerekir.  Derinlemesine i\u00e7 i\u00e7e ge\u00e7mi\u015f yap\u0131larla \u00e7al\u0131\u015f\u0131rken, y\u0131\u011f\u0131n ta\u015fmas\u0131 (stack overflow) hatas\u0131 ile kar\u015f\u0131la\u015fma riski vard\u0131r.  Bu nedenle, b\u00fcy\u00fck ve karma\u015f\u0131k veri setlerinde \u00f6zyinelemeli fonksiyonlar\u0131n performans\u0131n\u0131 optimize etmek \u00f6nemlidir.  Bu optimizasyon genellikle yinelemeli (iterative) yakla\u015f\u0131mlar ile yap\u0131labilir.<\/p>\n<p>Ayr\u0131ca, \u00f6zyinelemeli fonksiyonlar\u0131n hata ay\u0131klamas\u0131n\u0131n biraz daha zor olabilece\u011fini de unutmamak gerekir.  Hata ay\u0131klama s\u00fcrecinde, fonksiyonun her \u00e7a\u011fr\u0131s\u0131n\u0131 izlemek ve de\u011fi\u015fkenlerin durumunu takip etmek daha karma\u015f\u0131k olabilir.<\/p>\n<h2>Alternatif Yakla\u015f\u0131mlar<\/h2>\n<p>\u00d6zyinelemeli haritalamaya alternatif olarak, yinelemeli (iterative) yakla\u015f\u0131mlar kullan\u0131labilir.  Yineleme, d\u00f6ng\u00fcler (loops) kullanarak verileri i\u015fler ve genellikle \u00f6zyinelemeye g\u00f6re daha performansl\u0131d\u0131r, \u00f6zellikle b\u00fcy\u00fck veri setlerinde.  Ancak, yinelemeli yakla\u015f\u0131mlar, karma\u015f\u0131k veri yap\u0131lar\u0131 i\u00e7in daha karma\u015f\u0131k kodlar gerektirebilir.<\/p>\n<p>Do\u011fru yakla\u015f\u0131m\u0131 se\u00e7mek, veri yap\u0131s\u0131n\u0131n karma\u015f\u0131kl\u0131\u011f\u0131na ve performans gereksinimlerine ba\u011fl\u0131d\u0131r.  K\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli veri setlerinde \u00f6zyineleme daha okunabilir ve daha k\u0131sa kod sa\u011flar. Ancak, b\u00fcy\u00fck veri setlerinde performans sorunlar\u0131n\u0131 \u00f6nlemek i\u00e7in yinelemeli yakla\u015f\u0131m\u0131 tercih etmek daha ak\u0131ll\u0131ca olabilir.  Kendi projeleriniz i\u00e7in en uygun yakla\u015f\u0131m\u0131 dikkatlice se\u00e7melisiniz.<\/p>\n<p>Daha fazla bilgi i\u00e7in <a href=\"https:\/\/fatihsoysal.com\">fatihsoysal.com<\/a> sitesini ziyaret edebilirsiniz.  Ayr\u0131ca, JavaScript&#8217;te dizi i\u015fleme ile ilgili daha fazla bilgi i\u00e7in <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Reference\/Global_Objects\/Array\">MDN Web Docs<\/a> sayfas\u0131n\u0131 inceleyebilirsiniz.<\/p>\n<p>#Etiketler: JavaScript, \u00d6zyineleme, Recursive, Nesne Haritalama, Object Mapping, Fonksiyonlar, Functions, Veri Yap\u0131lar\u0131, Data Structures, Performans, Performance, Yineleme, Iteration, Kod Optimizasyonu, Code Optimization, Programlama, Programming, Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"JavaScript&#8217;te Nesneleri \u00d6zyinelemeli Olarak Haritalama Merhaba! Fatih Soysal olarak, bug\u00fcn JavaScript&#8217;te nesneleri \u00f6zyinelemeli (recursive) olarak haritalaman\u0131n inceliklerini ele&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-11041","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>JavaScript&#039;te Nesneleri \u00d6zyinelemeli Olarak Haritalama<\/title>\n<meta name=\"description\" content=\"Merhaba! Fatih Soysal olarak, bug\u00fcn JavaScript&#039;te nesneleri \u00f6zyinelemeli (recursive) olarak haritalaman\u0131n inceliklerini ele alaca\u011f\u0131z. Bu teknik, karma\u015f\u0131k, i\u00e7 i\u00e7e ge\u00e7mi\u015f nesne yap\u0131lar\u0131yla \u00e7al\u0131\u015f\u0131rken olduk\u00e7a faydal\u0131d\u0131r. \u00d6rne\u011fin, bir e-ticaret sitesindeki \u00fcr\u00fcn kategorilerini veya bir sosyal medya platformundaki kullan\u0131c\u0131 ili\u015fkilerini temsil eden veri yap\u0131lar\u0131n\u0131 d\u00fc\u015f\u00fcn\u00fcn. Bu t\u00fcr yap\u0131larla \u00e7al\u0131\u015fmak i\u00e7in \u00f6zyinelemeli haritalama, verileri d\u00fczenleme, d\u00f6n\u00fc\u015ft\u00fcrme veya belirli verileri \u00e7\u0131karma gibi i\u015flemleri olduk\u00e7a kolayla\u015ft\u0131r\u0131r.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JavaScript&#039;te Nesneleri \u00d6zyinelemeli Olarak Haritalama\" \/>\n<meta property=\"og:description\" content=\"Merhaba! Fatih Soysal olarak, bug\u00fcn JavaScript&#039;te nesneleri \u00f6zyinelemeli (recursive) olarak haritalaman\u0131n inceliklerini ele alaca\u011f\u0131z. Bu teknik, karma\u015f\u0131k, i\u00e7 i\u00e7e ge\u00e7mi\u015f nesne yap\u0131lar\u0131yla \u00e7al\u0131\u015f\u0131rken olduk\u00e7a faydal\u0131d\u0131r. \u00d6rne\u011fin, bir e-ticaret sitesindeki \u00fcr\u00fcn kategorilerini veya bir sosyal medya platformundaki kullan\u0131c\u0131 ili\u015fkilerini temsil eden veri yap\u0131lar\u0131n\u0131 d\u00fc\u015f\u00fcn\u00fcn. Bu t\u00fcr yap\u0131larla \u00e7al\u0131\u015fmak i\u00e7in \u00f6zyinelemeli haritalama, verileri d\u00fczenleme, d\u00f6n\u00fc\u015ft\u00fcrme veya belirli verileri \u00e7\u0131karma gibi i\u015flemleri olduk\u00e7a kolayla\u015ft\u0131r\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-30T10:00:12+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"JavaScript&#8217;te Nesneleri \u00d6zyinelemeli Olarak Haritalama\",\"datePublished\":\"2025-01-30T10:00:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/\"},\"wordCount\":619,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/\",\"name\":\"JavaScript'te Nesneleri \u00d6zyinelemeli Olarak Haritalama\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-01-30T10:00:12+00:00\",\"description\":\"Merhaba! Fatih Soysal olarak, bug\u00fcn JavaScript'te nesneleri \u00f6zyinelemeli (recursive) olarak haritalaman\u0131n inceliklerini ele alaca\u011f\u0131z. Bu teknik, karma\u015f\u0131k, i\u00e7 i\u00e7e ge\u00e7mi\u015f nesne yap\u0131lar\u0131yla \u00e7al\u0131\u015f\u0131rken olduk\u00e7a faydal\u0131d\u0131r. \u00d6rne\u011fin, bir e-ticaret sitesindeki \u00fcr\u00fcn kategorilerini veya bir sosyal medya platformundaki kullan\u0131c\u0131 ili\u015fkilerini temsil eden veri yap\u0131lar\u0131n\u0131 d\u00fc\u015f\u00fcn\u00fcn. Bu t\u00fcr yap\u0131larla \u00e7al\u0131\u015fmak i\u00e7in \u00f6zyinelemeli haritalama, verileri d\u00fczenleme, d\u00f6n\u00fc\u015ft\u00fcrme veya belirli verileri \u00e7\u0131karma gibi i\u015flemleri olduk\u00e7a kolayla\u015ft\u0131r\u0131r.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript&#8217;te Nesneleri \u00d6zyinelemeli Olarak Haritalama\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"JavaScript'te Nesneleri \u00d6zyinelemeli Olarak Haritalama","description":"Merhaba! Fatih Soysal olarak, bug\u00fcn JavaScript'te nesneleri \u00f6zyinelemeli (recursive) olarak haritalaman\u0131n inceliklerini ele alaca\u011f\u0131z. Bu teknik, karma\u015f\u0131k, i\u00e7 i\u00e7e ge\u00e7mi\u015f nesne yap\u0131lar\u0131yla \u00e7al\u0131\u015f\u0131rken olduk\u00e7a faydal\u0131d\u0131r. \u00d6rne\u011fin, bir e-ticaret sitesindeki \u00fcr\u00fcn kategorilerini veya bir sosyal medya platformundaki kullan\u0131c\u0131 ili\u015fkilerini temsil eden veri yap\u0131lar\u0131n\u0131 d\u00fc\u015f\u00fcn\u00fcn. Bu t\u00fcr yap\u0131larla \u00e7al\u0131\u015fmak i\u00e7in \u00f6zyinelemeli haritalama, verileri d\u00fczenleme, d\u00f6n\u00fc\u015ft\u00fcrme veya belirli verileri \u00e7\u0131karma gibi i\u015flemleri olduk\u00e7a kolayla\u015ft\u0131r\u0131r.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/","og_locale":"tr_TR","og_type":"article","og_title":"JavaScript'te Nesneleri \u00d6zyinelemeli Olarak Haritalama","og_description":"Merhaba! Fatih Soysal olarak, bug\u00fcn JavaScript'te nesneleri \u00f6zyinelemeli (recursive) olarak haritalaman\u0131n inceliklerini ele alaca\u011f\u0131z. Bu teknik, karma\u015f\u0131k, i\u00e7 i\u00e7e ge\u00e7mi\u015f nesne yap\u0131lar\u0131yla \u00e7al\u0131\u015f\u0131rken olduk\u00e7a faydal\u0131d\u0131r. \u00d6rne\u011fin, bir e-ticaret sitesindeki \u00fcr\u00fcn kategorilerini veya bir sosyal medya platformundaki kullan\u0131c\u0131 ili\u015fkilerini temsil eden veri yap\u0131lar\u0131n\u0131 d\u00fc\u015f\u00fcn\u00fcn. Bu t\u00fcr yap\u0131larla \u00e7al\u0131\u015fmak i\u00e7in \u00f6zyinelemeli haritalama, verileri d\u00fczenleme, d\u00f6n\u00fc\u015ft\u00fcrme veya belirli verileri \u00e7\u0131karma gibi i\u015flemleri olduk\u00e7a kolayla\u015ft\u0131r\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-01-30T10:00:12+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"3 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"JavaScript&#8217;te Nesneleri \u00d6zyinelemeli Olarak Haritalama","datePublished":"2025-01-30T10:00:12+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/"},"wordCount":619,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/","url":"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/","name":"JavaScript'te Nesneleri \u00d6zyinelemeli Olarak Haritalama","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-01-30T10:00:12+00:00","description":"Merhaba! Fatih Soysal olarak, bug\u00fcn JavaScript'te nesneleri \u00f6zyinelemeli (recursive) olarak haritalaman\u0131n inceliklerini ele alaca\u011f\u0131z. Bu teknik, karma\u015f\u0131k, i\u00e7 i\u00e7e ge\u00e7mi\u015f nesne yap\u0131lar\u0131yla \u00e7al\u0131\u015f\u0131rken olduk\u00e7a faydal\u0131d\u0131r. \u00d6rne\u011fin, bir e-ticaret sitesindeki \u00fcr\u00fcn kategorilerini veya bir sosyal medya platformundaki kullan\u0131c\u0131 ili\u015fkilerini temsil eden veri yap\u0131lar\u0131n\u0131 d\u00fc\u015f\u00fcn\u00fcn. Bu t\u00fcr yap\u0131larla \u00e7al\u0131\u015fmak i\u00e7in \u00f6zyinelemeli haritalama, verileri d\u00fczenleme, d\u00f6n\u00fc\u015ft\u00fcrme veya belirli verileri \u00e7\u0131karma gibi i\u015flemleri olduk\u00e7a kolayla\u015ft\u0131r\u0131r.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/javascriptte-nesneleri-ozyinelemeli-olarak-haritalama\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"JavaScript&#8217;te Nesneleri \u00d6zyinelemeli Olarak Haritalama"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/11041","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=11041"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/11041\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=11041"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=11041"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=11041"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}