Logo
Section 1 / 5

子任务解决方案:设置准备

子任务“设置”在项目“查找共同好友”中的解决方案

导入

子任务解决方案:设置准备

子任务“设置”在项目“查找共同好友”中的解决方案

设置

将原始数据(以数组形式)转换为JavaScript对象。此处,每个字母代表一个用户。

1// 设置 2function setup(arr) { 3 var friends = {}; 4 arr.forEach(x => { 5 var friend1 = x[0]; 6 var friend2 = x[1]; 7 if (friend1 in friends) 8 friends[friend1].push(friend2); 9 else 10 friends[friend1] = [friend2]; 11 12 if (friend2 in friends) 13 friends[friend2].push(friend1); 14 else 15 friends[friend2] = [friend1]; 16 }); 17 return friends; 18 // 返回对象 {人 : [朋友]} 19} 20 21var arr = [ 22 ['A', 'B'], ['A', 'C'], 23 ['A', 'D'], ['B', 'C'], 24 ['B', 'D'], ['B', 'E'], 25 ['C', 'D'], ['C', 'E'], 26 ['D', 'E'] 27]; 28console.log(setup(arr));

在上述代码中,函数 setup 仅接收一个参数 arr。arr 中的每个元素都是一个包含两个元素的数组。对于这两个元素,创建一个属性名并指向对象 friends 中的对应项。如果该属性已存在,则直接引用它;引用后,将另一个元素添加到其数组中。对所有数组重复此过程,同时不断更新赋值给 friends 的对象,最终得到结果。

值、变量和运算符

子任务解决方案:映射