Esta página ha sido traducida del inglés por la comunidad.Aprende más y únete a la comunidad de MDN Web Docs.
Array.prototype.every()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julio de 2015.
El métodoevery() de las instancias deArray prueba si todos los elementos del arreglo pasan la prueba implementada por la función proporcionada. Devuelve un valor booleano.
In this article
Pruébalo
const isBelowThreshold = (currentValue) => currentValue < 40;const array1 = [1, 30, 39, 29, 10, 13];console.log(array1.every(isBelowThreshold));// Expected output: trueSintaxis
every(callbackFn)every(callbackFn, thisArg)Parámetros
callbackFnUna función que se ejecuta para cada elemento del arreglo. Debe devolver un valortruthy para indicar que el elemento pasa la prueba y un valorfalsy en caso contrario. La función se llama con los siguientes argumentos:
thisArgOpcionalUn valor para usar como
thisal ejecutarcallbackFn. Vermétodos iterativos.
Valor de retorno
true a menos quecallbackFn devuelva un valorfalsy para un elemento del arreglo, en cuyo caso se devuelvefalse inmediatamente.
Descripción
El métodoevery() es unmétodo iterativo. Llama a una funcióncallbackFn proporcionada una vez por cada elemento de un arreglo, hasta quecallbackFn devuelva un valorfalsy. Si se encuentra dicho elemento,every() devuelve inmediatamentefalse y deja de iterar por el arreglo. De lo contrario, sicallbackFn devuelve un valortruthy para todos los elementos,every() devuelvetrue. Lea la secciónmétodos iterativos para obtener más información sobre cómo funcionan estos métodos en general.
every actúa como el cuantificador "para todos" en matemáticas. En particular, para un arreglo vacío, devuelvetrue. (Esvaciamente cierto que todos los elementos delconjunto vacío satisfacen cualquier condición dada).
callbackFn se invoca únicamente para índices de arreglos que tienen valores asignados. No se invoca para espacios vacíos enarreglos dispersos.
El métodoevery() esgenérico. Solo espera que el valorthis tenga una propiedadlength y propiedades con claves enteras.
Ejemplos
>Probar el tamaño de todos los elementos del arreglo
El siguiente ejemplo prueba si todos los elementos del arreglo son 10 o más.
function isBigEnough(element, index, array) { return element >= 10;}[12, 5, 8, 130, 44].every(isBigEnough); // false[12, 54, 18, 130, 44].every(isBigEnough); // trueComprueba si un arreglo es un subconjunto de otro arreglo
El siguiente ejemplo prueba si todos los elementos de un arreglo están presentes en otro arreglo.
const isSubset = (array1, array2) => array2.every((element) => array1.includes(element));console.log(isSubset([1, 2, 3, 4, 5, 6, 7], [5, 7, 6])); // trueconsole.log(isSubset([1, 2, 3, 4, 5, 6, 7], [5, 8, 7])); // falseUsando el tercer argumento de callbackFn
El argumentoarray es útil si desea acceder a otro elemento del arreglo. El siguiente ejemplo primero utilizafilter() para extraer los valores positivos y luego utilizaevery() para verificar si el arreglo es estrictamente creciente.
const numbers = [-2, 4, -8, 16, -32];const isIncreasing = numbers .filter((num) => num > 0) .every((num, idx, arr) => { // Sin el argumento arr, no hay forma de acceder fácilmente al // arreglo intermedio sin guardarla en una variable. if (idx === 0) return true; return num > arr[idx - 1]; });console.log(isIncreasing); // trueUso de every() en arreglos dispersos
every() no ejecutará su predicado en espacios vacíos.
console.log([1, , 3].every((x) => x !== undefined)); // trueconsole.log([2, , 2].every((x) => x === 2)); // trueLlamar a every() en objetos que no son arreglos
El métodoevery() lee la propiedadlength dethis y luego accede a cada propiedad con una clave entera no negativa menor quelength hasta que se haya accedido a todas ocallbackFn devuelvafalse.
const arrayLike = { length: 3, 0: "a", 1: "b", 2: "c", 3: 345, // ignorado por every() ya que la longitud es 3};console.log( Array.prototype.every.call(arrayLike, (x) => typeof x === "string"),); // trueEspecificaciones
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-array.prototype.every> |