לולאה בJSON
-
שלום למומחים.
ביצעתי AJAX לקבל JSON מסויים
הJSON מקונן בכמה רמות עומקאני מעוניין לבצע עליו לולאה בהתאם לבחירת המשתמש
כלומר:
בוא נאמר שיש שלושה ילדים לJSON - לכל אחד מהם ילדים וצאצאים וצאצאי צאצאים (בקיצור נחת מכולם!!! )
הלקוח בוחר בכפתור בערך שהוא בעצם השם של אחד מהילדים הראשיים.
ברגע זה הוא יקבל מספר אלמנטים שמכילים ערכים מתוך הצאצאים והצאצאי צאצאים וכו'....אם זה היה מערך ככל הנראה זה היה בקלות, אך לצערי כשהוא אובייקט JSON הוא מחזיק רק את הערך של כל key ולא את כל הצאצאים.
-
@dovid אמר בלולאה בJSON:
נכון, forEach עובד רק על מערכים
-
@dovid אמר בלולאה בJSON:
לעשות לולאת for .. in.
אבל זה גם מחזיר לי רק את המפתח בלי הידלים שלו.
הנה האובייקט:
var income = { "הכנסות": { "1": { "name": "חודשית קבועה", "content": { "111": { "name": "משכורות בעל", "settings": { "day_field": true, "month_field": false }, "count_rows_registered": 1, "rows_registered": [ { "index_row": 1, "date_registered": "12", "type": "1212", "ID_type": "1", "category_name": "12121", "ID_category": "111", "dete_in_payment": "לא קבוע", "Amount": "12", "method_payment": "12" } ] }, "114": { "name": "משכורות אשה", "settings": { "day_field": true, "month_field": true }, "count_rows_registered": null, "rows_registered": [ ] } } }, "2": { "name": "חודשית משתנה", "content": { "121": { "name": "משכורות בעל", "settings": { "day_field": true, "month_field": true }, "count_rows_registered": null, "rows_registered": [ ] }, "124": { "name": "משכורות אשה", "settings": { "day_field": true, "month_field": true }, "count_rows_registered": null, "rows_registered": [ ] }, "127": { "name": "משכורת נוספת", "settings": { "day_field": true, "month_field": true }, "count_rows_registered": null, "rows_registered": [ ] }, } } }, "הוצאות": { "1": { "name": "חודשית קבועה", "content": { "111": { "name": "משכורות בעל", "settings": { "day_field": true, "month_field": false }, "count_rows_registered": 1, "rows_registered": [ { "index_row": 1, "date_registered": "12", "type": "1212", "ID_type": "1", "category_name": "12121", "ID_category": "111", "dete_in_payment": "לא קבוע", "Amount": "12", "method_payment": "12" } ] }, "114": { "name": "משכורות אשה", "settings": { "day_field": true, "month_field": true }, "count_rows_registered": null, "rows_registered": [ ] } } }, "2": { "name": "חודשית משתנה", "content": { "121": { "name": "משכורות בעל", "settings": { "day_field": true, "month_field": true }, "count_rows_registered": null, "rows_registered": [ ] }, "124": { "name": "משכורות אשה", "settings": { "day_field": true, "month_field": true }, "count_rows_registered": null, "rows_registered": [ ] }, "127": { "name": "משכורת נוספת", "settings": { "day_field": true, "month_field": true }, "count_rows_registered": null, "rows_registered": [ ] }, } } } };
וזה הלולאה לעת עתה
for(let type in income.הכנסות){ var no = type; var name = type.name; console.log(name); }
הname מחזיר undefined
ברור לי שחסר לי משהו בfor אשמח אם מישהו יעיר את עיני.
-
@dovid אמר בלולאה בJSON:
אבל ציפיתי ממך לחפש את הביטוי באמצעות גוגל (js for in).
דווקא שוטטתי רבות שם בחיפוש אחר אי המטמון האבוד... אך ללא הועיל לא הצלחתי למצוא (לא חיפשתי בדיוק את התמליל שנתת אך חיפשתי את מוציאים בלולאה חלק מאובייקט בעשרות וריאציות...).
בכל מקרה ממש תודה.