Estoy recorriendo una matriz con mi función de comparación para obtener la cantidad máxima de temperatura de la matriz, pero no hubo cambios después de aplicar la función a la temperatura de la matriz.
let temperature = [1, 2, 3, 4, 5, 6, 7, 8, 9, "error"]; function compare(temperature) { let i = 0; for (i = 0; i < temperature.length; i++) { if (typeof temperature[i] === "string") temperature.splice(i, 1); } for (let k = i + 1; k < temperature.length; k++) { if (temperature[i] < temperature[k]) Array.splice(i, 1); else if (temperature[i] > temperature[k]) Array.splice(k, 1); } return temperature; } console.log(temperature);¡Mira esto!
let temperature = [1, 2, 3, 4, 5, 6, 7, 8, 9, "error"]; function compare(temperature) { let i = 0; for (i = 0; i < temperature.length; i++) { if (typeof temperature[i] === "string") temperature.splice(i, 1); } for (let k = i + 1; k < temperature.length; k++) { if (temperature[i] < temperature[k]) Array.splice(i, 1); else if (temperature[i] > temperature[k]) Array.splice(k, 1); } return temperature; } console.log(compare(temperature));Puede lograr esto con una sola línea de código usando Math.max() en la matriz.
Demostración de trabajo:
// Input array let temperature = [1, 2, 3, 4, 5, 6, 7, 8, 9, "error"]; // Math.max() to get maximum number element from an array. const maxTemp = Math.max(...temperature.filter(elem => typeof elem !== 'string')); // Result console.log(maxTemp);