У меня есть такие данные:
this.registrations = [{
event: "Juniors 18s",
day: "Friday",
group: "nonpro",
players: [{
first: "Mary",
last: "Mack",
email: "marymack@dressedinblack.com",
phone: "8888675309",
signed: false,
waivers: [{
has_signed: true,
token: "ab",
url: "somesite.com",
signatureUrl: "someothersite.com",
message: "Minor waiver"
},
{
has_signed: true,
token: "ab",
url: "somesite.com",
signatureUrl: "someothersite.com",
message: "Parental waiver"
}
]
},
{... another record like that one}
]
Есть ли способ показать, подписал ли каждый игрок все отказы?Я знаю, что есть функция .every, но я не уверен, как использовать ее с этой вложенной структурой данных.
Я думал что-то вроде ниже, но это не сработало:
this.registrations.has_signed = this.registrations.waivers.every( waiver => waiver.has_signed === true )
Тогда я попробовал этот, который, по крайней мере, кажется, что это может быть ближе к победе (но не совсем).свойство Players.signed не используется, но кто-то по умолчанию выставляет его как false, поэтому я хотел бы использовать его:
this.registrations.forEach(reg => {
reg.players.forEach(p => {
if (p.waivers.every(waiver => waiver.has_signed === true)) {
p.signed = true;
} else {
p.signed = false;
}
return reg;
});
});