一组健身课程的数据集如下所示:
[{ user: 8, duration: 50, equipment: ['bench'] },{ user: 7, duration: 150, equipment: ['dumbbell'] },{ user: 1, duration: 10, equipment: ['barbell'] },{ user: 7, duration: 100, equipment: ['bike', 'kettlebell'] },{ user: 7, duration: 200, equipment: ['bike'] },{ user: 2, duration: 200, equipment: ['treadmill'] },{ user: 2, duration: 200, equipment: ['bike'] },];
每个课程都有以下字段:
user
:课程用户的用户 ID。duration
:课程的持续时间,以分钟为单位。equipment
:课程期间使用的设备数组,按字母顺序排列。只有 5 种不同的设备。实现一个方法 mergeData
,用于通过合并每个用户的数据来返回每个用户活动的统一视图。它具有接口 mergeData(sessions)
。来自同一 user
的会话应合并到一个对象中。合并时:
duration
字段。equipment
,对值进行去重并按字母顺序排序。结果的顺序应始终与原始集合保持不变,并且在合并具有相同用户的会话的情况下,该行应占据该 user
的最早出现的位置。输入对象不应被修改。
以下示例使用上述数据集:
mergeData(sessions);// [// { user: 8, duration: 50, equipment: ['bench'] },// { user: 7, duration: 450, equipment: ['bike', 'dumbbell', 'kettlebell'] },// { user: 1, duration: 10, equipment: ['barbell'] },// { user: 2, duration: 400, equipment: ['bike', 'treadmill'] },// ];
用户 7 和用户 2 的数据合并到该用户的第一次出现。
一组健身课程的数据集如下所示:
[{ user: 8, duration: 50, equipment: ['bench'] },{ user: 7, duration: 150, equipment: ['dumbbell'] },{ user: 1, duration: 10, equipment: ['barbell'] },{ user: 7, duration: 100, equipment: ['bike', 'kettlebell'] },{ user: 7, duration: 200, equipment: ['bike'] },{ user: 2, duration: 200, equipment: ['treadmill'] },{ user: 2, duration: 200, equipment: ['bike'] },];
每个课程都有以下字段:
user
:课程用户的用户 ID。duration
:课程的持续时间,以分钟为单位。equipment
:课程期间使用的设备数组,按字母顺序排列。只有 5 种不同的设备。实现一个方法 mergeData
,用于通过合并每个用户的数据来返回每个用户活动的统一视图。它具有接口 mergeData(sessions)
。来自同一 user
的会话应合并到一个对象中。合并时:
duration
字段。equipment
,对值进行去重并按字母顺序排序。结果的顺序应始终与原始集合保持不变,并且在合并具有相同用户的会话的情况下,该行应占据该 user
的最早出现的位置。输入对象不应被修改。
以下示例使用上述数据集:
mergeData(sessions);// [// { user: 8, duration: 50, equipment: ['bench'] },// { user: 7, duration: 450, equipment: ['bike', 'dumbbell', 'kettlebell'] },// { user: 1, duration: 10, equipment: ['barbell'] },// { user: 2, duration: 400, equipment: ['bike', 'treadmill'] },// ];
用户 7 和用户 2 的数据合并到该用户的第一次出现。
console.log()
语句将显示在此处。