Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

105
Visualizações
¿Cómo dibujar dinámicamente dibujar unidades de una matriz y emparejarlas con un valor numérico predefinido?

Así que estoy trabajando en una tarea en la que se supone que hago un seguimiento de "cuántos puntos ha ganado un equipo deportivo en una temporada" escribiendo una función llamada getTotalPoints que acepta una cadena de letras y devuelve el total de puntos ganados. Estas letras serían cualquier serie de "w" (ganancias) "d" (empates) y/o "l" (pérdidas).

La asignación incluye un valor numérico predefinido para cada letra (w = 3, d = 1 y l = 0), una función auxiliar para obtener estos valores getPointsFromResult y la función con un parámetro de cadena pasado, getTotalPoints('wwdl') para probar que la función getTotalPoints que escribí funciona correctamente.

Llegué a convertir la cadena en una matriz y luego traté de iterar en esa matriz. La respuesta correcta debería ser 7, pero obtengo un resultado de 16, porque parece que el ciclo forEach está iterando todo el 4 de x (siendo 4 la longitud de la matriz) Como resultado de 4 conjuntos de 3+1+0 (esencialmente 4x4).

No tengo idea de cómo avanzar desde aquí y estoy completamente atascado.

 const RESULT_VALUES = { w: 3, d: 1, l: 0 } /** * Takes a single result string and (one of 'w', 'l', or 'd') * and returns the point value * * @param {string} result * @returns {number} point value */ function getPointsFromResult(result) { return RESULT_VALUES[result]; } // Create getTotalPoints function which accepts a string of results // including wins, draws, and losses ie 'wwdlw' // Returns total number of points won let getTotalPoints = function(pointsString) { let pointsArray = Array.from(pointsString); console.log(pointsArray); let sum = 0 pointsArray.forEach(function(result) { console.log(result) let wins = getPointsFromResult('w'); let draws = getPointsFromResult('d'); let losses = getPointsFromResult('l'); console.log(wins); console.log(draws); console.log(losses); sum += wins; sum += draws; sum += losses; }) return sum; }; // Check getTotalPoints console.log(getTotalPoints('wwdl')); // should equal 7

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Qué tal algo como esto:

 const RESULT_VALUES = { w: 3, d: 1, l: 0 } function getPointsFromResult(result) { return RESULT_VALUES[result]; } let getTotalPoints = function(pointsString) { let pointsArray = Array.from(pointsString); // Put value of each letter into a results array: let results = pointsArray.map(result => getPointsFromResult(result)); // Sum all values in above results array to get total. let sum = results.reduce((a, b) => a + b, 0); return sum; }; console.log(getTotalPoints('wwdl')); // should equal 7

about 4 years ago · Juan Pablo Isaza Relatório

0

split() cadena "wwdl" en una matriz:

 'wwdl'.split('') //['w', 'w', 'd', 'l']

Luego obtenga cada clave del objeto ('w', 'd', 'l') y obtenga el valor (3, 1, 0).

 object['w'] // first iteration 3 object['w'] // second iteration 3 object['d'] // third iterayion 1 object['l'] // fourth iteration 0

.reduce() puede agregar los valores y devolver una suma:

 sum + current value

En el siguiente ejemplo log(data) es solo una función de ayuda para iniciar sesión en la consola más fácilmente.

 const log = data => console.log(JSON.stringify(data)); const record = `wwdl`; const totalScore = record => { const scoring = { w: 3, d: 1, l: 0 }; let recArr = record.split(''); log('String as an Array:'); log(recArr); return recArr.reduce((sum, cur) => { log('Current Key: ' + cur + ': return: ' + scoring[cur]); return sum + scoring[cur]; }, 0); }; log('Total Score: ' + totalScore(record));
 .as-console-row::after { width: 0; font-size: 0; } .as-console-row-code { width: 100%; word-break: break-word; }

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda