Baseline Widely available
findIndex()
㯠Array
ã¤ã³ã¹ã¿ã³ã¹ã®ã¡ã½ããã§ãé
åå
ã®æå®ããããã¹ã颿°ã«åæ ¼ããæåã®è¦ç´ ã®ã¤ã³ããã¯ã¹ãè¿ãã¾ãã ãã¹ã颿°ã«åæ ¼ããè¦ç´ ããªãã£ãå ´å㯠-1
ãè¿ãã¾ãã
find()
ã¡ã½ãããåç
§ãã¦ãã ããããã¡ãã®ã¡ã½ããã¯ãé
åå
ã§è¦ã¤ãã£ãè¦ç´ ã®ä½ç½®ã§ã¯ãªããå¤ãè¿ãã¾ãã
const array1 = [5, 12, 8, 130, 44];
const isLargeNumber = (element) => element > 13;
console.log(array1.findIndex(isLargeNumber));
// Expected output: 3
æ§æ
findIndex(callbackFn)
findIndex(callbackFn, thisArg)
弿°
callbackFn
é åã®ããããã®è¦ç´ ã«å¯¾ãã¦å®è¡ãã颿°ã§ããä¸è´ããè¦ç´ ãå¾ããããã¨ã示ãã«ã¯çå¤ãè¿ããããã§ãªããã°å½å¤ãè¿ãã¦ãã ããããã®é¢æ°ã¯ä»¥ä¸ã®å¼æ°ã§å¼ã³åºããã¾ãã
element
é åå ã§ç¾å¨å¦çããã¦ããè¦ç´ ã§ãã
index
é åå ã§ç¾å¨å¦çããã¦ããè¦ç´ ã®ã¤ã³ããã¯ã¹ï¼ä½ç½®ï¼ã§ãã
array
findIndex()
ãå¼ã³åºããå
ã®é
åã§ãã
thisArg
çç¥å¯
callbackFn
å
ã§ this
ã¨ãã¦ä½¿ããããªãã¸ã§ã¯ãã§ããå復å¦çã¡ã½ãããåç
§ãã¦ãã ããã
ãã¹ãã«åæ ¼ããé
åã®è¦ç´ ã®ä½ç½®ãè¿ãã¾ãããã以å¤ã®å ´åã¯ã -1
ãè¿ãã¾ãã
findIndex()
ã¡ã½ããã¯å復å¦çã¡ã½ããã§ããé
åã®è¦ç´ ã®ããããã«å¯¾ãã¦ãã¤ã³ããã¯ã¹ã®æé ã«ä¸åº¦ã㤠callbackFn
颿°ãå®è¡ããcallbackFn
颿°ãçå¤ãè¿ãã¾ã§ç¹°ãè¿ãã¾ãã findIndex()
ã¯ãã®è¦ç´ ãè¿ããé
åã®å復å¦çã忢ãã¾ãããã callbackFn
ãçå¤ãè¿ããªãå ´åã findIndex()
㯠-1
ãè¿ãã¾ãã
callbackFn
ã¯ãå¤ãå²ãå½ã¦ããã¦ãããã®ã«éãããé
åä¸ã®ãã¹ã¦ã®ã¤ã³ããã¯ã¹ã«å¯¾ãã¦å¼ã³åºããã¾ããçé
åã§ã¯ã空ã®ã¹ããã㯠undefined
ã¨åãåä½ããã¾ãã
findIndex()
ã¯ãå¼ã³åºããé
åã夿´ (mutate) ãã¾ããããcallbackFn
ã§æä¾ããã颿°ã¯å¤æ´ããå¯è½æ§ãããã¾ããããããé
åã®é·ãã¯æåã« callbackFn
ãå¼ã³åºãããåã«è¨å®ããã¾ãããããã£ã¦ã
callbackFn
㯠findIndex()
ã®å¼ã³åºããå§ããã¨ãã®é
åã®é·ããè¶
ãã¦è¿½å ãããè¦ç´ ã«ã¯ã¢ã¯ã»ã¹ãã¾ãããcallbackFn
ãå度å¼ã³åºããããã¨ã¯ããã¾ãããcallbackFn
ã«ãã£ã¦å¤æ´ãããå ´åã callbackFn
ã«æ¸¡ãããå¤ã¯ãã®è¦ç´ ãåå¾ãããæç¹ã®å¤ã«ãªãã¾ããåé¤ããã è¦ç´ 㯠undefined
ã§ãããã®ããã«å¦çããã¾ããè¦å: ä¸ã§èª¬æãããããªåæé²è¡ã®å¤æ´ã¯ãçè§£ãã«ããã³ã¼ãã«ãªããã¨ãå¤ãã®ã§ãï¼ç¹å¥ãªå ´åãé¤ãã¦ï¼é¿ããã®ãä¸è¬çã§ãã
findIndex()
ã¡ã½ããã¯æ±ç¨çã§ãããã㯠this
å¤ã« length
ããããã£ã¨æ´æ°ãã¼ã®ããããã£ããããã¨ã ããæå¾
ãã¾ãã
次ã®ä¾ã§ã¯ãé
åã®ä¸ã§ç´ æ°ã®å
¥ã£ãæåã®è¦ç´ ã®ä½ç½®ãè¿ããç´ æ°ãè¦ã¤ãããªãã£ãå ´å㯠-1
ãè¿ãã¾ãã
function isPrime(element) {
if (element % 2 === 0 || element < 2) {
return false;
}
for (let factor = 3; factor <= Math.sqrt(element); factor += 2) {
if (element % factor === 0) {
return false;
}
}
return true;
}
console.log([4, 6, 8, 9, 12].findIndex(isPrime)); // -1, not found
console.log([4, 6, 7, 9, 12].findIndex(isPrime)); // 2 (array[2] is 7)
çé
åã«ããã find() ã®ä½¿ç¨
çé
åã§ undefined
ãæ¤ç´¢ãããã¨ã§ã空ã¹ãããã®ã¤ã³ããã¯ã¹ãåå¾ãããã¨ãã§ãã¾ãã
console.log([1, , 3].findIndex((x) => x === undefined)); // 1
é
åã§ãªããªãã¸ã§ã¯ãã«å¯¾ãã find() ã®å¼ã³åºã
findIndex()
ã¡ã½ãã㯠this
ã® length
ããããã£ãèªã¿è¾¼ã¿ããã®ãã¼ã length
ãããå°ããéè² ã®æ´æ°ã§ããåããããã£ã«ã¢ã¯ã»ã¹ãã¾ãã
const arrayLike = {
length: 3,
"-1": 0.1, // -1 < 0 ãªã®ã§ findIndex() 空ã¯ç¡è¦ããã
0: 2,
1: 7.3,
2: 4,
};
console.log(
Array.prototype.findIndex.call(arrayLike, (x) => !Number.isInteger(x)),
); // 1
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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