Ask whether one or all elements pass a test.

some-every `some` answers whether at least one element passes the callback test. `every` answers whether all elements pass it.

some and every

limit
some_every.js
Replay: real traced execution (multi-file project)
const limit = 10;
const levels = [8, 9, 10];
const anyExact = levels.some((level) => level === limit);
const allWithin = levels.every((level) => level <= limit);

console.log("limit=" + limit);
console.log("anyExact=" + anyExact);
console.log("allWithin=" + allWithin);
const limit = 6;
const levels = [8, 9, 10];
const anyExact = levels.some((level) => level === limit);
const allWithin = levels.every((level) => level <= limit);

console.log("limit=" + limit);
console.log("anyExact=" + anyExact);
console.log("allWithin=" + allWithin);
const limit = 12;
const levels = [8, 9, 10];
const anyExact = levels.some((level) => level === limit);
const allWithin = levels.every((level) => level <= limit);

console.log("limit=" + limit);
console.log("anyExact=" + anyExact);
console.log("allWithin=" + allWithin);
  1. limit ← 10, levels ← 8,9,10, anyExact ← true, allWithin ← true

    1const limit→ 10 = 10; //@limit=6, 122const levels→ 8,9,10 = [8, 9, 10];3const anyExact→ true = levels8,9,10.some((level) => level === limit);4const allWithin→ true = levels8,9,10.every((level) => level <= limit);56console.log("limit=" + limit10);7console.log("anyExact=" + anyExacttrue);8console.log("allWithin=" + allWithintrue);
    outputlimit=10
    anyExact=true
    allWithin=true
  1. limit ← 6, levels ← 8,9,10, anyExact ← false, allWithin ← false

    1const limit→ 6 = 6;2const levels→ 8,9,10 = [8, 9, 10];3const anyExact→ false = levels8,9,10.some((level) => level === limit);4const allWithin→ false = levels8,9,10.every((level) => level <= limit);56console.log("limit=" + limit6);7console.log("anyExact=" + anyExactfalse);8console.log("allWithin=" + allWithinfalse);
    outputlimit=6
    anyExact=false
    allWithin=false
  1. limit ← 12, levels ← 8,9,10, anyExact ← false, allWithin ← true

    1const limit→ 12 = 12;2const levels→ 8,9,10 = [8, 9, 10];3const anyExact→ false = levels8,9,10.some((level) => level === limit);4const allWithin→ true = levels8,9,10.every((level) => level <= limit);56console.log("limit=" + limit12);7console.log("anyExact=" + anyExactfalse);8console.log("allWithin=" + allWithintrue);
    outputlimit=12
    anyExact=false
    allWithin=true