Cuando ejecuto este código en la consola del navegador o en cualquier entorno de JavaScript, obtengo max y min como 1,1. Alguien podría ayudarme a encontrar el error.
var arr = [1,4,6,3]; function maxAndMin(arr) { var max = arr[0]; var min = arr[0]; for(var i=0; i < arr.lenght; i++) { if(arr[i] > max) { max = arr[i]; } if(arr[i] < min) { min = arr[i]; }} console.log("Max:",max,"Min:",min); } maxAndMin(arr);arr.lenght tiene un error tipográfico y devuelve un reverso indefinido. Entonces nunca iteras el bucle for .
Tuviste un error tipográfico con lenhgt . Además, recomiendo comenzar su ciclo desde 1, ya que el elemento 0'th ya se procesa en el momento de la inicialización.
var arr = [1,4,6,3]; function maxAndMin(arr) { var max = arr[0]; var min = arr[0]; for(var i=1; i < arr.length; i++) { if(arr[i] > max) { max = arr[i]; } if(arr[i] < min) { min = arr[i]; }} console.log("Max:",max,"Min:",min); } maxAndMin(arr);si está utilizando Javascript, entonces hay una forma alternativa/fácil de encontrar el mínimo y el máximo de una matriz. Es solo una línea
var arr = [1,4,6,3]; const min = arr.sort((a,b) => ab)[0]; const max = arr.sort((a,b) => ba)[0]; console.log('Original Array ==>', arr); console.log('Min ==>', min); console.log('Max ==>', max);De esta forma, puede reducir el tiempo de ejecución de su función sin bucles for ni bucles if-else.