Ø´ÛØ¡ÙØ§Û Ú©ÙÛØ¯Ø¯Ø§Ø± از آراÛÙ Ø¨Ø³Ø§Ø²ÛØ¯
Ø¨ÛØ§ÛÛØ¯ ÙØ±Ø¶ Ú©ÙÛÙ
Ú©Ù Ù
ا ÛÚ© آراÛ٠از کاربرا٠ب٠شک٠{id:..., name:..., age:... } Ø¯Ø±ÛØ§Ùت کردÙâØ§ÛÙ
.
ÛÚ© تابع groupById(arr) Ø¨Ø³Ø§Ø²ÛØ¯ Ú©Ù ÛÚ© Ø´ÛØ¡ از Ø¢Ù Ø§ÛØ¬Ø§Ø¯ Ù
ÛâÚ©ÙØ¯Ø Ú©Ù id ب٠عÙÙØ§Ù Ú©ÙÛØ¯ ٠اÙÙ
اÙâÙØ§Û آراÛ٠ب٠عÙÙØ§Ù Ù
ÙØ¯Ø§Ø± Ù
ÙØ¬Ùد ÙØ³ØªÙد.
Ø¨Ø±Ø§Û Ù Ø«Ø§Ù:
let users = [
{id: 'john', name: "John Smith", age: 20},
{id: 'ann', name: "Ann Smith", age: 24},
{id: 'pete', name: "Pete Peterson", age: 31},
];
let usersById = groupById(users);
/*
// بعد از ÙØ±Ø§Ø®ÙاÙÛ Ù
ا Ø¨Ø§ÛØ¯ اÛ٠را داشت٠باشÛÙ
:
usersById = {
john: {id: 'john', name: "John Smith", age: 20},
ann: {id: 'ann', name: "Ann Smith", age: 24},
pete: {id: 'pete', name: "Pete Peterson", age: 31},
}
*/
ÚÙÛÙ ØªØ§Ø¨Ø¹Û ÙÙگا٠کار کرد٠با Ø¯Ø§Ø¯Ù Ø³Ø±ÙØ± Ø®ÛÙÛ Ø¨Ù Ú©Ø§Ø± Ù ÛâØ¢ÛØ¯.
در اÛ٠تکÙÛÙ Ù
ا ÙØ±Ø¶ Ù
ÛâÚ©ÙÛÙ
Ú©Ù id Ûکتا است. ÙÛÚ Ø¯Ù Ø§ÙÙ
اÙÛ Ø§Ø² آراÛÙ ÙØ¬Ùد ÙØ¯Ø§Ø±Ø¯ Ú©Ù id ÛکساÙÛ Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´ÙØ¯.
ÙØ·Ùا از Ù
تد .reduce در را٠ØÙ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯.
function groupById(array) {
return array.reduce((obj, value) => {
obj[value.id] = value;
return obj;
}, {})
}
باز کرد٠راÙâØÙ Ù٠را٠با تستâÙØ§ درÙÙ ÛÚ© sandbox.