Baseline Widely available
some()
æ¹æ³æµè¯æ°ç»ä¸æ¯å¦è³å°æä¸ä¸ªå
ç´ éè¿äºç±æä¾ç彿°å®ç°çæµè¯ã妿卿°ç»ä¸æ¾å°ä¸ä¸ªå
ç´ ä½¿å¾æä¾ç彿°è¿å trueï¼åè¿å trueï¼å¦åè¿å falseãå®ä¸ä¼ä¿®æ¹æ°ç»ã
const array = [1, 2, 3, 4, 5];
// Checks whether an element is even
const even = (element) => element % 2 === 0;
console.log(array.some(even));
// Expected output: true
è¯æ³
some(callbackFn)
some(callbackFn, thisArg)
åæ°
callbackFn
为æ°ç»ä¸çæ¯ä¸ªå ç´ æ§è¡ç彿°ãå®åºè¯¥è¿åä¸ä¸ªçå¼ä»¥æç¤ºå ç´ éè¿æµè¯ï¼å¦åè¿åä¸ä¸ªåå¼ãè¯¥å½æ°è¢«è°ç¨æ¶å°ä¼ å ¥ä»¥ä¸åæ°ï¼
element
æ°ç»ä¸å½åæ£å¨å¤ççå ç´ ã
index
æ£å¨å¤ççå ç´ å¨æ°ç»ä¸çç´¢å¼ã
array
è°ç¨äº some()
çæ°ç»æ¬èº«ã
thisArg
å¯é
æ§è¡ callbackFn
æ¶ç¨ä½ this
çå¼ãåè§è¿ä»£æ¹æ³ã
妿åè°å½æ°å¯¹æ°ç»ä¸è³å°ä¸ä¸ªå
ç´ è¿åä¸ä¸ªçå¼ï¼åè¿å true
ãå¦åè¿å false
ã
some()
æ¹æ³æ¯ä¸ä¸ªè¿ä»£æ¹æ³ãå®ä¸ºæ°ç»ä¸çæ¯ä¸ªå
ç´ è°ç¨ä¸æ¬¡æå®ç callbackFn
彿°ï¼ç´å° callbackFn
è¿åä¸ä¸ªçå¼ã妿æ¾å°è¿æ ·çå
ç´ ï¼some()
æ¹æ³å°ä¼ç«å³è¿å true
并忢éåæ°ç»ãå¦åï¼å¦æ callbackFn
对ææå
ç´ é½è¿ååå¼ï¼some()
å°±ä¼è¿å false
ã
some()
ç±»ä¼¼äºæ°å¦ä¸çâåå¨éè¯ï¼âï¼âãç¹å«å°ï¼å¨å¯¹äºä¸ä¸ªç©ºæ°ç»ï¼ä»»ä½æ¡ä»¶ä¸å®é½è¿å false
ã
callbackFn
ä»
é对已åé
å¼çæ°ç»ç´¢å¼è°ç¨ãå®ä¸ä¼ä¸ºç¨çæ°ç»ä¸ç空槽è°ç¨ã
some()
ä¸ä¼æ¹åè°ç¨å®çæ°ç»ï¼ä½æå®ç callbackFn
彿°å¯ä»¥ã使¯è¯·æ³¨æï¼æ°ç»çé¿åº¦æ¯å¨ç¬¬ä¸æ¬¡è°ç¨ callbackFn
ä¹åä¿åçãå æ¤ï¼
some()
æ¶ï¼callbackFn
å°ä¸ä¼è®¿é®è¶
åºæ°ç»åå§é¿åº¦çä»»ä½å
ç´ ãcallbackFn
ãcallbackFn
æ´æ¹ï¼åå®ä¼ éç» callbackFn
çå¼å°æ¯è¯¥å
ç´ è¢«ä¿®æ¹åçå¼ã被å é¤çå
ç´ åä¸ä¼è¢«è®¿é®ãè¦åï¼ ä¸è¿°ç±»åçå¹¶åä¿®æ¹ç»å¸¸å¯¼è´é¾ä»¥çè§£ç代ç ï¼é常åºé¿å ï¼ç¹æ®æ åµé¤å¤ï¼ã
some()
æ¹æ³æ¯éç¨çãå®åªææ this
å¼å
·æ length
屿§åæ´æ°é®å±æ§ã
ä¸é¢çä¾åæ£æµå¨æ°ç»ä¸æ¯å¦æå ç´ å¤§äº 10ã
function isBiggerThan10(element, index, array) {
return element > 10;
}
[2, 5, 8, 1, 4].some(isBiggerThan10); // false
[12, 5, 8, 1, 4].some(isBiggerThan10); // true
使ç¨ç®å¤´å½æ°æµè¯æ°ç»å
ç´ çå¼
ç®å¤´å½æ°å¯ä»¥éè¿æ´ç®æ´çè¯æ³å®ç°ç¸åçç¨ä¾ã
[2, 5, 8, 1, 4].some((x) => x > 10); // false
[12, 5, 8, 1, 4].some((x) => x > 10); // true
夿æ°ç»å
ç´ ä¸æ¯å¦åå¨æä¸ªå¼
æ¤ä¾ä¸ºæ¨¡ä»¿ includes()
æ¹æ³ï¼è¥å
ç´ å¨æ°ç»ä¸åå¨ï¼ååè°å½æ°è¿åå¼ä¸º true
:
const fruits = ["apple", "banana", "mango", "guava"];
function checkAvailability(arr, val) {
return arr.some((arrVal) => val === arrVal);
}
checkAvailability(fruits, "kela"); // false
checkAvailability(fruits, "banana"); // true
å°ä»»æå¼è½¬æ¢ä¸ºå¸å°ç±»å
const TRUTHY_VALUES = [true, "true", 1];
function getBoolean(value) {
if (typeof value === "string") {
value = value.toLowerCase().trim();
}
return TRUTHY_VALUES.some((t) => t === value);
}
getBoolean(false); // false
getBoolean("false"); // false
getBoolean(1); // true
getBoolean("true"); // true
å¨ç¨çæ°ç»ä¸ä½¿ç¨ some()
some()
ä¸ä¼å¨ç©ºæ§½ä¸è¿è¡å®çæè¨å½æ°ã
console.log([1, , 3].some((x) => x === undefined)); // false
console.log([1, , 1].some((x) => x !== 1)); // false
console.log([1, undefined, 1].some((x) => x !== 1)); // true
å¨éæ°ç»å¯¹è±¡ä¸è°ç¨ some()
some()
æ¹æ³è¯»å this
ç length
屿§ï¼ç¶åè®¿é®æ¯ä¸ªæ´æ°ç´¢å¼ï¼ç´å°å°è¾¾æ«å°¾æ callbackFn
è¿å true
ã
const arrayLike = {
length: 3,
0: "a",
1: "b",
2: "c",
};
console.log(Array.prototype.some.call(arrayLike, (x) => typeof x === "number"));
// false
è§è æµè§å¨å
¼å®¹æ§ åè§
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