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 â¨2015ë 7ìâ©.
Array ì¸ì¤í´ì¤ì every() ë©ìëë ì ê³µë í
ì¤í¸ í¨ì를 ë§ì¡±ìí¤ì§ 못í ë°°ì´ ë´ ìì를 íë ì°¾ì¼ë©´ false를 ë°íí©ëë¤. ê·¸ë ì§ ìì¼ë©´ true를 ë°íí©ëë¤.
ìëí´ ë³´ê¸°
const isBelowThreshold = (currentValue) => currentValue < 40;
const array1 = [1, 30, 39, 29, 10, 13];
console.log(array1.every(isBelowThreshold));
// ìì ì¶ë ¥: true
구문
every(callbackFn)
every(callbackFn, thisArg)
매ê°ë³ì
callbackFn-
ë°°ì´ì ê° ììì ëí´ ì¤íí í¨ìì ëë¤. ììê° í ì¤í¸ë¥¼ íµê³¼íë©´ ì°¸ ê°ì ë°ííê³ , ê·¸ë ì§ ìì¼ë©´ ê±°ì§ ê°ì ë°íí´ì¼ í©ëë¤. í¨ìë ë¤ì ì¸ì를 ì¬ì©íì¬ í¸ì¶ë©ëë¤.
thisArgOptional-
callbackFnì ì¤íí ëthisë¡ ì¬ì©íë ê°. ìí ë©ìë를 참조íì¸ì.
ë°í ê°
callbackFnì´ ê±°ì§ì ë°ííë ê²½ì° false를 ì¦ì ë°ííë©°, ê·¸ë ì§ ìì¼ë©´ true를 ë°íí©ëë¤.
ì¤ëª
every() ë©ìëë ìí ë©ìëì
ëë¤. ë°°ì´ì ê° ììì ëí´ ì ê³µë callbackFn í¨ì를 í ë²ì© í¸ì¶íê³ , callbackFnì´ ê±°ì§ ê°ì ë°íí ëê¹ì§ í¸ì¶ì ë°ë³µí©ëë¤. ê±°ì§ ììê° ë°ê²¬ëë©´ every()ë ì¦ì false를 ë°ííê³ ë°°ì´ ìí를 ì¤ì§í©ëë¤. ê·¸ë ì§ ìê³ callbackFnì´ ëª¨ë ììì ëí´ ì°¸ ê°ì ë°ííë©´, every()ë true를 ë°íí©ëë¤.
everyë ìíì "모ë ~ì ëí´(for all)" ìíì¬ì²ë¼ ìëí©ëë¤. í¹ë³í ë¹ ë°°ì´ì true를 ë°íí©ëë¤. (ë¹ ì§í©ì 모ë ììê° ì£¼ì´ì§ ì¡°ê±´ì ë§ì¡±íë ê²ì ê³µí ì°¸ì
ëë¤.)
callbackFnì ê°ì´ í ë¹ë ë°°ì´ì ì¸ë±ì¤ì ëí´ìë§ í¸ì¶ë©ëë¤. í¬ì ë°°ì´ì ë¹ ì¬ë¡¯ìë í¸ì¶ëì§ ììµëë¤.
every()ë í¸ì¶ëë ë°°ì´ì ë³ê²½íì§ ìì§ë§, callbackFnì¼ë¡ ì ê³µë í¨ìë ë³ê²½í ì ììµëë¤. ê·¸ë¬ë ë°°ì´ì lengthë callbackFnì ì²ì í¸ì¶í기 ì ì ì ì¥ëë¤ë ì ì ì ìíì¸ì. ë°ë¼ì,
callbackFnìevery()í¸ì¶ì´ ììëìì ë ë°°ì´ì ì´ê¸° length ê°ì ì´ê³¼íì¬ ì¶ê°ë ìì를 방문íì§ ììµëë¤.- ì´ë¯¸ 방문í ì¸ë±ì¤ë¥¼ ë³ê²½í´ë
callbackFnì´ ë¤ì í¸ì¶ëì§ ììµëë¤. - ë°°ì´ì ìì§ ë°©ë¬¸íì§ ìì 기존 ììê°
callbackFnì ìí´ ë³ê²½ëë ê²½ì°,callbackFnì ì ë¬ë ê°ì í´ë¹ ììê° ë°©ë¬¸ë ë¹ìì ê°ì´ ë©ëë¤. ìì ë ììë 방문ëì§ ììµëë¤.
ê²½ê³ : ììì ì¤ëª í ì¢ ë¥ì ëì ìì ì ì´í´í기 ì´ë ¤ì´ ì½ë를 ë§ëë ê²½ì°ê° ë§ì¼ë¯ë¡ ì¼ë°ì ì¼ë¡ ì§ìí´ì¼ í©ëë¤(í¹ë³í ê²½ì° ì ì¸).
every() ë©ìëë ë²ì©ì
ëë¤. this ê°ìë length ìì±ê³¼ ì ì í¤ ìì±ë§ ìì ê²ì¼ë¡ ììí©ëë¤.
ìì
>모ë ë°°ì´ ììì í¬ê¸° í ì¤í¸
ë¤ì ìì ë ë°°ì´ì 모ë ììê° 9ë³´ë¤ ë í°ì§ í ì¤í¸í©ëë¤.
function isBigEnough(element, index, array) {
return element >= 10;
}
[12, 5, 8, 130, 44].every(isBigEnough); // false
[12, 54, 18, 130, 44].every(isBigEnough); // true
í ë°°ì´ì´ ë¤ë¥¸ ë°°ì´ì ë¶ë¶ ì§í©ì¸ì§ íì¸
ë¤ì ìì ë ë°°ì´ì 모ë ììê° ë¤ë¥¸ ë°°ì´ì ì¡´ì¬íëì§ í ì¤í¸í©ëë¤.
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
í¬ì ë°°ì´ì every() ì¬ì©í기
every() ë ë¹ ì¬ë¡¯ì ì½ë°± í¨ì를 ì¤ííì§ ììµëë¤.
console.log([1, , 3].every((x) => x !== undefined)); // true
console.log([2, , 2].every((x) => x === 2)); // true
ì´ê¸° ë°°ì´ì ìí¥ì£¼ê¸°(ìì , ì¶ê°, ìì )
ë¤ì ìì ë ë°°ì´ì´ ìì ëìì ë every ë©ìëì ëìì í
ì¤í¸í©ëë¤.
// ---------
// í목 ìì
// ---------
let arr = [1, 2, 3, 4];
arr.every((elem, index, arr) => {
arr[index + 1]--;
console.log(`[${arr}][${index}] -> ${elem}`);
return elem < 2;
});
// 루íë 3ë² ìííì§ë§,
// ìì ì´ ììë¤ë©´ 2ë²ë§ ìííì ê²ì
ëë¤.
//
// 첫 ë²ì§¸ ìí: [1,1,3,4][0] -> 1
// ë ë²ì§¸ ìí: [1,1,2,4][1] -> 1
// ì¸ ë²ì§¸ ìí: [1,1,2,3][2] -> 2
// ---------
// í목 ì¶ê°
// ---------
arr = [1, 2, 3];
arr.every((elem, index, arr) => {
arr.push("new");
console.log(`[${arr}][${index}] -> ${elem}`);
return elem < 4;
});
// ìë¡ì´ ììê° ì¶ê°ë íìë 3ë²ë§ ìíí©ëë¤.
//
// 첫 ë²ì§¸ ìí: [1, 2, 3, new][0] -> 1
// ë ë²ì§¸ ìí: [1, 2, 3, new, new][1] -> 2
// ì¸ ë²ì§¸ ìí: [1, 2, 3, new, new, new][2] -> 3
// ---------
// í목 ìì
// ---------
arr = [1, 2, 3, 4];
arr.every((elem, index, arr) => {
arr.pop();
console.log(`[${arr}][${index}] -> ${elem}`);
return elem < 4;
});
// 기존 ììê° `pop()` ëì´ 2ë²ë§ ìíí©ëë¤.
//
// 첫 ë²ì§¸ ìí: [1,2,3][0] -> 1
// ë ë²ì§¸ ìí: [1,2][1] -> 2
ë°°ì´ì´ ìë ê°ì²´ìì every() í¸ì¶í기
every() ë©ìëë thisì length ìì±ì ì½ì ë¤ì, lengthë³´ë¤ ìì ììê° ìë ì ì í¤ì ê° ìì±ì 모ë ì ê·¼íê±°ë callbackFnì´ false를 ë°íí ëê¹ì§ ì ê·¼í©ëë¤.
const arrayLike = {
length: 3,
0: "a",
1: "b",
2: "c",
3: 345, // lengthê° 3ì´ë¯ë¡ every()ì ìí´ ë¬´ìë©ëë¤.
};
console.log(
Array.prototype.every.call(arrayLike, (x) => typeof x === "string"),
); // true
ëª ì¸ì
| Specification |
|---|
| ECMAScript® 2026 Language Specification > # sec-array.prototype.every > |