Baseline Widely available
every()
æ¹æ³æµè¯ä¸ä¸ªæ°ç»å
çææå
ç´ æ¯å¦é½è½éè¿æå®å½æ°çæµè¯ãå®è¿åä¸ä¸ªå¸å°å¼ã
const isBelowThreshold = (currentValue) => currentValue < 40;
const array1 = [1, 30, 39, 29, 10, 13];
console.log(array1.every(isBelowThreshold));
// Expected output: true
è¯æ³
every(callbackFn)
every(callbackFn, thisArg)
åæ°
callbackFn
为æ°ç»ä¸çæ¯ä¸ªå ç´ æ§è¡ç彿°ãå®åºè¯¥è¿åä¸ä¸ªçå¼ä»¥æç¤ºå ç´ éè¿æµè¯ï¼å¦åè¿åä¸ä¸ªåå¼ãè¯¥å½æ°è¢«è°ç¨æ¶å°ä¼ å ¥ä»¥ä¸åæ°ï¼
element
æ°ç»ä¸å½åæ£å¨å¤ççå ç´ ã
index
æ£å¨å¤ççå ç´ å¨æ°ç»ä¸çç´¢å¼ã
array
è°ç¨äº every()
çæ°ç»æ¬èº«ã
thisArg
å¯é
æ§è¡ callbackFn
æ¶ç¨ä½ this
çå¼ãåè§è¿ä»£æ¹æ³ã
妿 callbackFn
为æ¯ä¸ªæ°ç»å
ç´ è¿åçå¼ï¼å为 true
ãå¦å为 false
ã
every()
æ¹æ³æ¯ä¸ä¸ªè¿ä»£æ¹æ³ãå®ä¸ºæ°ç»ä¸çæ¯ä¸ªå
ç´ è°ç¨ä¸æ¬¡æå®ç callbackFn
彿°ï¼ç´å° callbackFn
è¿åä¸ä¸ªåå¼ã妿æ¾å°è¿æ ·çå
ç´ ï¼every()
æ¹æ³å°ä¼ç«å³è¿å false
并忢éåæ°ç»ãå¦åï¼å¦æ callbackFn
为æ¯ä¸ªå
ç´ è¿åä¸ä¸ªçå¼ï¼every()
å°±ä¼è¿å true
ã
every
åæ°å¦ä¸çå
¨ç§°éè¯"ä»»æï¼âï¼"类似ãç¹å«çï¼å¯¹äºç©ºæ°ç»ï¼å®åªè¿å true
ãï¼è¿ç§æ
åµå±äºæ æ¡ä»¶æ£ç¡®ï¼å 为空éçææå
ç´ é½ç¬¦åç»å®çæ¡ä»¶ãï¼
callbackFn
ä»
é对已åé
å¼çæ°ç»ç´¢å¼è°ç¨ãå®ä¸ä¼ä¸ºç¨çæ°ç»ä¸ç空槽è°ç¨ã
every()
ä¸ä¼æ¹åè°ç¨å®çæ°ç»ï¼ä½æå®ç callbackFn
彿°å¯ä»¥ã使¯è¯·æ³¨æï¼æ°ç»çé¿åº¦æ¯å¨ç¬¬ä¸æ¬¡è°ç¨ callbackFn
ä¹åä¿åçãæä»¥ï¼
every()
æ¶ï¼callbackFn
å°ä¸ä¼è®¿é®è¶
åºæ°ç»åå§é¿åº¦çä»»ä½å
ç´ ãcallbackFn
ãcallbackFn
æ´æ¹ï¼åå®ä¼ éç» callbackFn
çå¼å°æ¯è¯¥å
ç´ è¢«ä¿®æ¹åçå¼ã被å é¤çå
ç´ åä¸ä¼è¢«è®¿é®ãè¦åï¼ ä¸è¿°ç±»åçå¹¶åä¿®æ¹ç»å¸¸å¯¼è´é¾ä»¥çè§£ç代ç ï¼é常åºé¿å ï¼ç¹æ®æ åµé¤å¤ï¼ã
every()
æ¹æ³æ¯éç¨çãå®åªææ this
å¼å
·æ length
屿§åæ´æ°é®å±æ§ã
ä¸ä¾æµè¯æ°ç»ä¸çææå ç´ æ¯å¦é½å¤§äº 10ã
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,1,3,4][0] -> 1
// 第 2 次è¿ä»£ï¼[1,1,2,4][1] -> 1
// 第 3 次è¿ä»£ï¼[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 次è¿ä»£ï¼[1, 2, 3, new][0] -> 1
// 第 2 次è¿ä»£ï¼[1, 2, 3, new, new][1] -> 2
// 第 3 次è¿ä»£ï¼[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;
});
// 循ç¯ä»
è¿ä»£ 2 次
// å 为å©ä½çå
ç´ è¢« `pop()` å é¤
//
// 第 1 次è¿ä»£ï¼[1,2,3][0] -> 1
// 第 2 次è¿ä»£ï¼[1,2][1] -> 2
å¨éæ°ç»å¯¹è±¡ä¸è°ç¨ every()
every()
æ¹æ³è¯»å this
ç length
屿§ï¼ç¶åè®¿é®æ¯ä¸ªæ´æ°ç´¢å¼ï¼ç´å°å°è¾¾æ«å°¾æ callbackFn
è¿å false
ã
const arrayLike = {
length: 3,
0: "a",
1: "b",
2: "c",
};
console.log(
Array.prototype.every.call(arrayLike, (x) => typeof x === "string"),
); // true
è§è æµè§å¨å
¼å®¹æ§ åè§
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4