Ø§Ø³ØªØ«ÙØ§Ø¡ اÙ٠راجع ÙÙØ§Ø¦Ùات أخرÙ
Ù٠بعض Ø§ÙØØ§ÙØ§Øª Ø§ÙØ¨Ø³Ùطة ٠٠اÙÙ Ø±Ø¬Ø¹ÙØ© Ø§ÙØ«ÙØ§Ø¦ÙØ© (circular references)Ø ÙÙ ÙÙÙØ§ Ø£Ù ÙØ³ØªØ¨Ø¹Ø¯ Ø§ÙØ®Ø§ØµÙØ© Ø§ÙØºÙر Ù Ø±ØºÙØ¨Ø© Ù Ù Ø§ÙØªØÙÙ٠ع٠طرÙÙ Ø§Ø³Ù ÙØ§.
ÙÙÙÙ Ù٠بعض Ø§ÙØ£ÙÙØ§Øª ÙØ§ ÙÙ ÙÙÙØ§ Ø£Ù ÙØ³ØªØ®Ø¯Ù Ø§ÙØ¥Ø³Ù ÙÙØ·Ø ØÙØ« Ø£ÙÙØ§ ÙÙ Ù٠أ٠تÙÙ٠٠ستخد٠٠ÙÙ Ù Ø±Ø¬Ø¹ÙØ© Ø«ÙØ§Ø¦ÙØ© ÙÙÙ Ø®Ø§ØµÙØ© Ø¹Ø§Ø¯ÙØ©Ø ÙÙØ°ÙÙ ÙÙ ÙÙÙØ§ Ø£Ù ÙØ®ØªØ¨Ø± Ø§ÙØ®Ø§ØµÙØ© ع٠طرÙÙ Ø§Ø³Ù ÙØ§.
ÙÙ
Ø¨Ø¥ÙØ´Ø§Ø¡ Ø§ÙØ¯Ø§ÙØ© replacer ÙØªØÙÙÙ ÙÙ Ø´ÙØ¦ Ø¥ÙÙ ÙØµ ÙÙÙ٠تÙÙÙ
Ø¨ØØ°Ù Ø§ÙØ®ØµØ§Ø¦Øµ Ø§ÙØªÙ ØªØØªÙ٠عÙÙ Ù
رجع ÙÙÙØ§Ø¦Ù meetup:
let room = {
number: 23
};
let meetup = {
title: "Conference",
occupiedBy: [{name: "John"}, {name: "Alice"}],
place: room
};
// circular references
room.occupiedBy = meetup;
meetup.self = meetup;
alert( JSON.stringify(meetup, function replacer(key, value) {
/* Ø§ÙØÙ Ø§ÙØ®Ø§Øµ ب٠*/
}));
/* ÙØ¬Ø¨ أ٠تÙÙ٠اÙÙØªÙجة ÙØ§ÙآتÙ:
{
"title":"Conference",
"occupiedBy":[{"name":"John"},{"name":"Alice"}],
"place":{"number":23}
}
*/
let room = {
number: 23
};
let meetup = {
title: "Conference",
occupiedBy: [{name: "John"}, {name: "Alice"}],
place: room
};
room.occupiedBy = meetup;
meetup.self = meetup;
alert( JSON.stringify(meetup, function replacer(key, value) {
return (key != "" && value == meetup) ? undefined : value;
}));
/*
{
"title":"Conference",
"occupiedBy":[{"name":"John"},{"name":"Alice"}],
"place":{"number":23}
}
*/
ÙØØªØ§Ø¬ Ø£Ù ÙÙØØµ Ø£ÙØ¶Ùا key=="" ÙØ§Ø³ØªØ«Ùاء Ø£Ù٠استدعاء ÙØ£Ù ÙÙÙ
ØªÙ Ø§ÙØ·Ø¨ÙØ¹ÙØ© Ù٠اÙÙØ§Ø¦Ù meetup.
