gpt4 book ai didi

javascript - 创建一个数组对象及其相应的获胜者

转载 作者:行者123 更新时间:2023-12-01 01:31:59 25 4
gpt4 key购买 nike

假设我有一个数组:

let array = [
{ win: "Ali", loser: "Jake"},
{ win: "carl", loser: "Dean"},
{ win: "Eli", loser: "Jake"},
{ win: "Eli", loser: "carl"},
{ win: "Ali", loser: "carl"},
{ win: "carl", loser: "Dean"},
{ win: "Dean", loser: "Eli"}
];

输出应该是:

{
'Ali': ['Jake', 'carl'],
'Jake': [],
'carl': ['Dean'],
'Dean': ['eli'],
'eli': ['Jake', 'carl'],
}

所以我的第一步是在对象内创建一个包含所有获胜者的空数组。然后将获胜者的每个元素与其相应的失败者一起插入。但我对这种方法有点迷失。我有什么:

function winner(array) {
let newObj = {};

for (let obj of array) {
newObj[obj.winner] = [];
}
}

最佳答案

let array = [
{ win: "Ali", loser: "Jake"},
{ win: "carl", loser: "Dean"},
{ win: "Eli", loser: "Jake"},
{ win: "Eli", loser: "carl"},
{ win: "Ali", loser: "carl"},
{ win: "carl", loser: "Dean"},
{ win: "Dean", loser: "Eli"}
];

const result = {};
for (let obj of array) {
if(result[obj.win] && !result[obj.win].includes(obj.loser)){
result[obj.win].push(obj.loser);
}
else{
result[obj.win] = [obj.loser];
}
if(!result[obj.loser])
result[obj.loser] = [];
}
console.log(result);

关于javascript - 创建一个数组对象及其相应的获胜者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53184078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com