Esta estrutura tem um detalhe estranho: é um array no qual cada elemento é outro array, que por sua vez só tem um elemento (o objeto com id, números, etc). Não deveria ser um array de objetos?
Mas enfim, mantendo essa estrutura, a básica ideia é: cada elemento de APOSTAS
é outro array, então para cada um eu faço um loop para verificar os acertos.
Aí uso split
para separar os números, e verifico se cada um deles está no array de resultados. Algo assim:
for (const elemento of APOSTAS) {
for (const aposta of elemento) { // cada elemento de APOSTAS é outro array, então faço outro for
for (const n of aposta.nambers.split(',')) { // split para separar os números
if (_APOSTA_RESULTADO.includes(parseInt(n))) { // parseInt para converter para número, e verifico se está no resultado
aposta.acertos++;
}
}
}
}
console.log(APOSTAS);
Outro detalhe, foi erro de digitação ou o nome da propriedade é nambers mesmo? Não deveria ser numbers? Enfim, fiz acima com nambers
mesmo...
Claro, se é garantido que cada sub-array só tem uma única aposta, poderia trocar para:
for (const aposta of APOSTAS) {
for (const n of aposta[0].nambers.split(',')) { // split para separar os números
if (_APOSTA_RESULTADO.includes(parseInt(n))) { // parseInt para converter para número, e verifico se está no resultado
aposta[0].acertos++;
}
}
}
No caso, aposta[0]
pega o primeiro elemento do array. Como eu disse, se vc garante que sempre terá somente um, é o suficiente. Mas se puder ter vários, aí é melhor usar a primeira opção acima.