仿°ç»å建é®ï¼å¼ï¼å¯¹è±¡
éè¦ç¨åº¦: 4
å设æä»¬æ¶å°äºä¸ä¸ªç¨æ·æ°ç»ï¼å½¢å¼ä¸ºï¼{id:..., name:..., age:... }ã
å建ä¸ä¸ªå½æ° groupById(arr) ä»è¯¥æ°ç»å建对象ï¼ä»¥ id 为é®ï¼keyï¼ï¼æ°ç»é¡¹ä¸ºå¼ã
ä¾å¦:
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;
}, {})
}
