Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

147
Vistas
Separe números de letras y caracteres especiales y calcule la suma

Quiero eliminar caracteres especiales y letras de una matriz y calcular la suma de los números enteros restantes en la matriz, en JavaScript.

 const arr = ["13,d42", "d44f2", "1g5", "1c42"]; let numbersOnly = (val) => { if (typeof val === "number") { // replace number with string to get only string values in an array. return val; } else { let temp = val.split(""); // document.write(temp); let newArr = []; for (let i = 0; i < temp.length; i++) { if (typeof temp[i].parseInt() === 'number') { document.write(i) newArr.push(temp[i]); } } // return newArr; // document.write(newArr) } }; let numbers = arr.map(numbersOnly).reduce((partialSum, a) => partialSum + a, 0); document.write(numbers);
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

reduce sobre la matriz. Para cada cadena, encuentre los números usando la match con una expresión regular simple, luego join esa matriz en una cadena y luego coaccione a un número.

 const arr = ['13,d42', 'd44f2', '1g5', '1c42']; const sum = arr.reduce((sum, str) => { const num = Number(str.match(/\d/g).join('')); return sum + num; }, 0); console.log(sum);

Nota al margen: probablemente no deberías usar document.write :

⚠ Advertencia:Se desaconseja enfáticamente el uso del método document.write() .

about 4 years ago · Juan Pablo Isaza Denunciar

0

1941 es la respuesta correcta. porque "13,d42" es el primer elemento de la matriz. devuelve 1342

 const arr = ["13,d42", "d44f2", "1g5", "1c42"]; console.log(arr.map(a => +a.match(/\d+/g).join('')).reduce((a, b) => a + b, 0)); // 1941 => the sum of [ 1342, 442, 15, 142 ]
about 4 years ago · Juan Pablo Isaza Denunciar

0

¿Puede esto ayudarte?

 const arr = ["13,d42", "d44f2", "1g5", "1c42"]; const onlyNumbers = arr .map((value) => value.replace(/[^0-9]/g, "")) // get just numbers .reduce((pv, cv) => parseInt(pv) + parseInt(cv)); // add up the numbers console.log(onlyNumbers);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda