הוספת עותק של מערך האובייקטים בכל אובייקט לפני שמירה.
-
אני רוצה לשמור תיעוד של כל האובייקטים, בכל אובייקט. אז הוספתי אחרי יצירת המערך forEach זה נראה נבנה טוב, רק שמשום מה, נכנס בשדה הסיכום, כאילו שוב סיכום ואז יוצר כנראה איזה שגיאה ולא שומר.
כותב שם בתוך העותק {למרות שלכאורה לא היה אמור להיות השדה הזה, כיון שאני מעתיק אותו לפני השינוי.}
sicum: "[Circular]"let taskss = [] await $w("#repeater8").forEachItem(($item) => { let insert2 = { "data": $item('#datePicker6').value, "time": $item('#timePicker8').value, "tasks": $item('#input4').value, "project": $w('#input6').value, "customers": $w('#input5').value, } taskss.push(insert2) }) const tt = [...taskss] await taskss.forEach((item) => { item.total = tt.length item.sicum = tt }); console.log(taskss); await wixData.bulkInsert("Tasks", taskss)תודה רבה.
-
@אבי-203 אמר בהוספת עותק של מערך האובייקטים בכל אובייקט לפני שמירה.:
כותב שם בתוך העותק {למרות שלכאורה לא היה אמור להיות השדה הזה, כיון שאני מעתיק אותו לפני השינוי.}
JS אמנם יוצר מערך חדש, אבל שמכיל בדיוק את אותם האוביקטים המקוריים.
מה שגורם להפניה מעגליתCircularשל אוביקט אל עצמו, וכמובן זה לא משהו שניתן לשמור בDB (לפחות לא as-is).
אדגים:> item_1 = {id: 1} > item_2 = {id: 2} > items = [item_1, item_2]; [ { id: 1 }, { id: 2 } ] > not_new_items = [...items]; > item_1.is_old = true > not_new_items [ { id: 1, is_old: true }, { id: 2 } ]מה שנצרך זה בעצם לבצע deepcopy "העתקה עמוקה" למשל באמצעות JSON. (משער שיש דרכים יותר הגיוניות, לא יודע JS מספיק..)
const tt = JSON.parse(JSON.stringify(taskss)); await taskss.forEach((ite => { item.total = tt.length item.sicum = tt }); -
@אבי-203 אמר בהוספת עותק של מערך האובייקטים בכל אובייקט לפני שמירה.:
כותב שם בתוך העותק {למרות שלכאורה לא היה אמור להיות השדה הזה, כיון שאני מעתיק אותו לפני השינוי.}
JS אמנם יוצר מערך חדש, אבל שמכיל בדיוק את אותם האוביקטים המקוריים.
מה שגורם להפניה מעגליתCircularשל אוביקט אל עצמו, וכמובן זה לא משהו שניתן לשמור בDB (לפחות לא as-is).
אדגים:> item_1 = {id: 1} > item_2 = {id: 2} > items = [item_1, item_2]; [ { id: 1 }, { id: 2 } ] > not_new_items = [...items]; > item_1.is_old = true > not_new_items [ { id: 1, is_old: true }, { id: 2 } ]מה שנצרך זה בעצם לבצע deepcopy "העתקה עמוקה" למשל באמצעות JSON. (משער שיש דרכים יותר הגיוניות, לא יודע JS מספיק..)
const tt = JSON.parse(JSON.stringify(taskss)); await taskss.forEach((ite => { item.total = tt.length item.sicum = tt });
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות