איך מגדירים ID של אובייקט בPUSH JS?
-
ב-PHP אני יכול להגדיר במערך את שם המערך (ולתוכו אני שם את הערך), כגון:
$array[$id++] = array( 'name'=>$name, 'text' => 'aaa', );
ואז כשאני מקבל את המערך בJS (כאובייקט וערכים) אני מקבל את השם של האובייקט (הערך של ++id$).
השאלה איך עושים אותו דבר גם בפונקציית push בjs, שכשאני מכניס את הערך אני יכניס גם את שם האובייקט (ושהוא לא רק יכניס מספרים 0,1,2 וכו').(אני צריך את האינדקס הזה כדי לגשת לאותם ערכים מאוחר יותר).
תודה. -
בJS מערך הוא רק מספרי.
כדי לדעת איפה אתה אוחז כעת במספר,
אתה יכול:- לעשות במקום push גישה לאינדקס בדיוק כפי שהדגמת בphp,
- להשתמש במאפיין length 0 (יותר הגיוני).
א"א ליצור מערך עם גישה-ישירה לא מספרית לאיברים, אבל במקרה של כזה צורך משתמשים באובייקט שיש לו תכונות כמו מערך עם שמות של PHP:
var obj = {}; obj[currentId] = { id: currentid, name: "blabla", text: "bliblu"};
במקרה הזה הcurrentid יכול להיות כל ערך - גם לא מספר. ניתן לעשות אותו דבר עם מערך אבל זה בעצם מעמיס עליו מאפיינים כאובייקט וזה לא שימוש נכון וגם יוצר טעויות.
-
@chagold אמר באיך מגדירים ID של אובייקט בPUSH JS?:
וזאת למרות שכאמור כשהarray php מומר לJSON הוא כן יכול לתת לו גם ערכים שאינם מספריים?
זה לא מערך - זה אובייקט.
מערך מוקף ב[], ובפנים ישנם אלמנטים מופרדים בפסיק.
אובייקט מוקף ב{}, ובפנים ישנם זוגות של מפתח:ערך מופרדים בפסיק. -
@dovid אמר באיך מגדירים ID של אובייקט בPUSH JS?:
זה לא מערך - זה אובייקט.
מערך מוקף ב[], ובפנים ישנם אלמנטים מופרדים בפסיק.
אובייקט מוקף ב{}, ובפנים ישנם זוגות של מפתח:ערך מופרדים בפסיק.רק בשביל הדיון. מערך יכול טכנית להכיל index שהוא לא מספר אלא מחרוזת כלשהי.
a = [1, 2]; a['c'] = 3;
יחזיר מערך בעל אורך length של 2 מקומות - אבל יכיל גם את האלמנט השלישי.
(a
יחזיר[1, 2]
.a
במקום'c'
יחזיר3
.) -
@dovid אמר באיך מגדירים ID של אובייקט בPUSH JS?:
@dovid אמר באיך מגדירים ID של אובייקט בPUSH JS?:
ניתן לעשות אותו דבר עם מערך אבל זה בעצם מעמיס עליו מאפיינים כאובייקט וזה לא שימוש נכון וגם יוצר טעויות.
לא שמתי לב שהזכרת את זה..