Quiero verificar si hay un valor en la matriz que tenga más de 10 de diferencia con otros valores:
console.log(check()); function check() { const array = [21, 21, 10]; return array.some((val, i, arr) => val > arr[0] + 10); } La matriz anterior debería devolver true porque hay al menos un valor en la matriz que tiene más de 10 de diferencia, pero como puede ver, ¡devuelve false !
¿Cómo puedo hacer esto?
Puede tomar el valor máximo y mínimo y verificar la diferencia.
function check(array) { return Math.max(...array) - Math.min(...array) > 10; } console.log(check([21, 21, 10]));Está verificando si alguno de los elementos de la matriz es más grande que el primer elemento + 10, lo cual no es cierto.
Sin embargo, puede verificar cada elemento con el elemento mínimo:
console.log(check()); function check() { const array = [21, 21, 10]; const min = Math.min(...array); return array.some(val => val > min + 10); }