问题描述
我正在尝试减少一组对象以拥有一个老板键并增加同伴的忠诚度。但是,我不断获得没有唯一键的对象数组。我尝试检查对象密钥是否存在,以及是否增加了对象sidekickLoyalty。但是尚未成功增加sidekickLoyalty值。
预期产量
[
{ bossName: 'Jafar',sidekickLoyalty: 3 },{ bossName: 'Ursula',sidekickLoyalty: 20 },{ bossName: 'Scar',sidekickLoyalty: 16 }
]
当前结果
[
{ bossName: 'Jafar',sidekickLoyalty: 10 },sidekickLoyalty: 7 },sidekickLoyalty: 5 },sidekickLoyalty: 4 }
]
代码尝试
bossLoyalty() {
let bossyBoss = sidekicks.reduce((totalLoyalty,sidekick) => {
let bossObject = {
bossName: null,sidekickLoyalty: 0
};
if (!bossObject.bossName) {
bossObject.bossName = sidekick.boss;
}
if(bossObject.bossName === sidekick.boss) {
bossObject.sidekickLoyalty += sidekick.loyaltyToBoss;
}
totalLoyalty.unshift(bossObject);
return totalLoyalty;
},[])
const result = bossyBoss;
return result;
}
数据集
const sidekicks = [
{
name: 'Shenzi',associates: ['Banzai','Ed'],strengths: ['leadership','sass'],boss: 'Scar',loyaltyToBoss: 4
},{
name: 'Banzai',associates: ['Shenzi',strengths: ['strategy','suspicion'],loyaltyToBoss: 5
},{
name: 'Ed','Banzai'],strengths: ['unkNown'],loyaltyToBoss: 7
},{
name: 'Flotsam',associates: ['Jetsam'],strengths: ['spying','manipulation','flipping boats'],boss: 'Ursula',loyaltyToBoss: 10
},{
name: 'Jetsam',associates: ['Flotsam'],{
name: 'Iago',associates: [],strengths: ['mimicry','critical'],boss: 'Jafar',loyaltyToBoss: 3
}
];
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)