• Skip to main content
  • Skip to search
  • Skip to select language
HTML

Structure of content on the web

  • Web APIs

    Interfaces for building web applications

  • Learn
    • CSS

      Learn to style content using CSS

    • Overview

      A customized MDN experience

    • FAQ

      Frequently asked questions about MDN Plus

  • HTTP Observatory

    Scan a website for free

  • JavaScript
  • Array.prototype.every()
      • Deutsch
      • Español
      • Français
      • 日本語
      • 한국어
      • Português (do Brasil)
      • Русский
      • 中文 (简体)

    In this article

    • Try it
    • Syntax
    • Description
    • Examples
    • Specifications
    • Browser compatibility
    • See also
    1. Array.from()
    2. Array[Symbol.species]
  • Instance methods
    1. Array.prototype.entries()
    2. Array.prototype.find()
    3. Array.prototype.flat()
    4. Array.prototype.indexOf()
    5. Array.prototype.map()
    6. Array.prototype.reduceRight()
    7. Array.prototype.some()
    8. Array.prototype.toReversed()
    9. Array.prototype.unshift()
    10. Array: length
    11. Function.prototype.bind()
    12. Function: displayName Non-standard
    13. Function.prototype.arguments Non-standard Deprecated
    14. Function.prototype.caller Non-standard Deprecated
  • Instance methods
    1. Object.prototype.__defineGetter__() Deprecated
    2. Object.prototype.__defineSetter__() Deprecated
    3. Object.prototype.__lookupGetter__() Deprecated
    4. Object.prototype.__lookupSetter__() Deprecated
    5. Object.prototype.toLocaleString()
    6. Object.prototype.__proto__ Deprecated
    7. Array instances tests whether all elements in the array pass the test implemented by the provided function. It returns a Boolean value.

  • Try it

    const isBelowThreshold = (currentValue) => currentValue < 40;
    
    const array1 = [1, 30, 39, 29, 10, 13];
    
    console.log(array1.every(isBelowThreshold));
    / Expected output: true
    

    Syntax

    js
    every(callbackFn)
    every(callbackFn, thisArg)
    

    Parameters

    callbackFn

    A function to execute for each element in the array. It should return a falsy value otherwise. The function is called with the following arguments:

    element

    The current element being processed in the array.

    index

    The index of the current element being processed in the array.

    array

    The array every() was called upon.

    thisArg Optional

    A value to use as this when executing callbackFn. See iterative methods.

    Return value

    true unless callbackFn returns a truthy value for all elements, every() returns true. Read the iterative methods section for more information about how these methods work in general.

    every acts like the "for all" quantifier in mathematics. In particular, for an empty array, it returns true. (It is empty set satisfy any given condition.)

    callbackFn is invoked only for array indexes which have assigned values. It is not invoked for empty slots in sparse arrays.

    The every() method is generic. It only expects the this value to have a length property and integer-keyed properties.

    Examples

    Testing size of all array elements

    The following example tests whether all elements in the array are 10 or bigger.

    js
    function isBigEnough(element, index, array) {
      return element >= 10;
    }
    [12, 5, 8, 130, 44].every(isBigEnough); / false
    [12, 54, 18, 130, 44].every(isBigEnough); / true
    

    Check if one array is a subset of another array

    The following example tests if all the elements of an array are present in another array.

    js
    const isSubset = (array1, array2) =>
      array2.every((element) => array1.includes(element));
    
    console.log(isSubset([1, 2, 3, 4, 5, 6, 7], [5, 7, 6])); / true
    console.log(isSubset([1, 2, 3, 4, 5, 6, 7], [5, 8, 7])); / false
    

    Using the third argument of callbackFn

    The array argument is useful if you want to access another element in the array. The following example first uses filter() to extract the positive values and then uses every() to check whether the array is strictly increasing.

    js
    const numbers = [-2, 4, -8, 16, -32];
    const isIncreasing = numbers
      .filter((num) => num > 0)
      .every((num, idx, arr) => {
        / Without the arr argument, there's no way to easily access the
        / intermediate array without saving it to a variable.
        if (idx === 0) return true;
        return num > arr[idx - 1];
      });
    console.log(isIncreasing); / true
    

    Using every() on sparse arrays

    every() will not run its predicate on empty slots.

    js
    console.log([1, , 3].every((x) => x !== undefined)); / true
    console.log([2, , 2].every((x) => x === 2)); / true
    

    Calling every() on non-array objects

    The every() method reads the length property of this and then accesses each property with a nonnegative integer key less than length until they all have been accessed or callbackFn returns false.

    js
    const arrayLike = {
      length: 3,
      0: "a",
      1: "b",
      2: "c",
      3: 345, / ignored by every() since length is 3
    };
    console.log(
      Array.prototype.every.call(arrayLike, (x) => typeof x === "string"),
    ); / true
    

    Specifications

    Specification
    ECMAScript® 2026 Language Specification
    # sec-array.prototype.every

    Browser compatibility

    See also

    • Polyfill of Array.prototype.every in core-js
    • es-shims polyfill of Array.prototype.every
    • Indexed collections guide
    • Array
    • Array.prototype.forEach()
    • Array.prototype.some()
    • Array.prototype.find()
    • TypedArray.prototype.every()

    Help improve MDN

    Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!

    Check out: eBank.nz (Art Generator) | Netwrck.com (AI Tools) | Text-Generator.io (AI API) | BitBank.nz (Crypto AI) | ReadingTime (Kids Reading) | RewordGame | BigMultiplayerChess | WebFiddle | How.nz | Helix AI Assistant