Baseline Widely available
findLast()
㯠Array
ã¤ã³ã¹ã¿ã³ã¹ã®ã¡ã½ããã§ãé
åãéé ã«å復å¦çããæå®ããããã¹ã颿°ãæºããæåã®è¦ç´ ã®å¤ãè¿ãã¾ãã ãã¹ã颿°ãæºããè¦ç´ ããªãå ´å㯠undefined
ãè¿ããã¾ãã
æ¤ç´¢ãè¡ãå ´åã¯ä»¥ä¸ã®ã¡ã½ãããå¿ è¦ã§ãã
find()
ã使ç¨ãã¦ãã ãããfindLastIndex()
ã使ç¨ãã¦ãã ãããindexOf()
ã使ç¨ãã¦ãã ããã ï¼ãã㯠findIndex()
ã«ä¼¼ã¦ãã¾ããããã¹ã颿°ã使ç¨ããã®ã§ã¯ãªããããããã®è¦ç´ ãå¤ã¨çãããã©ããã調ã¹ã¾ããï¼includes()
ã使ç¨ãã¦ãã ããã ãã¡ããããã¹ã颿°ã使ç¨ãã代ããã«ãåè¦ç´ ãå¤ã¨çãããã©ããã調ã¹ã¾ããsome()
ã使ç¨ãã¦ãã ãããconst array1 = [5, 12, 50, 130, 44];
const found = array1.findLast((element) => element > 45);
console.log(found);
// Expected output: 130
æ§æ
findLast(callbackFn)
findLast(callbackFn, thisArg)
弿°
callbackFn
é åã®ããããã®è¦ç´ ã«å¯¾ãã¦å®è¡ãã颿°ã§ããä¸è´ããè¦ç´ ãå¾ããããã¨ã示ãã«ã¯çå¤ãè¿ããããã§ãªããã°å½å¤ãè¿ãã¦ãã ããããã®é¢æ°ã¯ä»¥ä¸ã®å¼æ°ã§å¼ã³åºããã¾ãã
element
é åå ã§ç¾å¨å¦çããã¦ããè¦ç´ ã§ãã
index
é åå ã§ç¾å¨å¦çããã¦ããè¦ç´ ã®ã¤ã³ããã¯ã¹ï¼ä½ç½®ï¼ã§ãã
array
findLast()
ãå¼ã³åºããå
ã®é
åã§ãã
thisArg
çç¥å¯
callbackFn
å
ã§ this
ã¨ãã¦ä½¿ããããªãã¸ã§ã¯ãã§ããå復å¦çã¡ã½ãããåç
§ãã¦ãã ããã
æå®ããããã¹ã颿°ãæºãããé
åä¸ã®æã大ããã¤ã³ããã¯ã¹å¤ãæã¤è¦ç´ ã®å¤ãä¸è´ããè¦ç´ ãè¦ã¤ãããªãå ´å㯠undefined
ã¨ãªãã¾ãã
findLast()
ã¡ã½ããã¯å復å¦çã¡ã½ããã§ããé
åã®è¦ç´ ã®ããããã«å¯¾ãã¦ãã¤ã³ããã¯ã¹ã®éé ã«ä¸åº¦ã㤠callbackFn
颿°ãå®è¡ããcallbackFn
颿°ãçå¤ãè¿ãã¾ã§ç¹°ãè¿ãã¾ãã findLast()
ã¯ãã®è¦ç´ ãè¿ããé
åã®å復å¦çã忢ãã¾ãããã callbackFn
ãçå¤ãè¿ããªãå ´åã find()
㯠undefined
ãè¿ãã¾ãã
callbackFn
ã¯ãå¤ãå²ãå½ã¦ããã¦ãããã®ã«éãããé
åä¸ã®ãã¹ã¦ã®ã¤ã³ããã¯ã¹ã«å¯¾ãã¦å¼ã³åºããã¾ããçé
åã§ã¯ã空ã®ã¹ããã㯠undefined
ã¨åãåä½ããã¾ãã
findLast()
ã¯ãå¼ã³åºããé
åã夿´ (mutate) ãã¾ããããcallbackFn
ã§æä¾ããã颿°ã¯å¤æ´ããå¯è½æ§ãããã¾ããããããé
åã®é·ãã¯æåã« callbackFn
ãå¼ã³åºãããåã«è¨å®ããã¾ãããããã£ã¦ã
callbackFn
㯠findLast()
ã®å¼ã³åºããå§ããã¨ãã®é
åã®é·ããè¶
ãã¦è¿½å ãããè¦ç´ ã«ã¯ã¢ã¯ã»ã¹ãã¾ãããcallbackFn
ãå度å¼ã³åºããããã¨ã¯ããã¾ãããcallbackFn
ã«ãã£ã¦å¤æ´ãããå ´åã callbackFn
ã«æ¸¡ãããå¤ã¯ãã®è¦ç´ ãåå¾ãããæç¹ã®å¤ã«ãªãã¾ããåé¤ããã è¦ç´ 㯠undefined
ã§ãããã®ããã«å¦çããã¾ããè¦å: åé ã§èª¬æãããããªãåç §ä¸ã®é åã®åæé²è¡ã§ã®å¤æ´ã¯ï¼ç¹æ®ãªå ´åãé¤ãã¦ï¼æ®éã¯é¿ããã¹ãã§ããå¤ãã®å ´åãçè§£ãã«ããã³ã¼ãã«ãªãã¾ãã
findLast()
ã¡ã½ããã¯æ±ç¨çã§ãããã㯠this
å¤ã« length
ããããã£ã¨æ´æ°ãã¼ã®ããããã£ããããã¨ã ããæå¾
ãã¾ãã
ãã®ä¾ã§ã¯ãé åè¦ç´ ã®ããããã£ã«åºã¥ãããã¹ãã使ããæ¹æ³ã示ãã¾ãã
const inventory = [
{ name: "apples", quantity: 2 },
{ name: "bananas", quantity: 0 },
{ name: "fish", quantity: 1 },
{ name: "cherries", quantity: 5 },
];
// å¨åº«ããªãå ´åã¯çå¤ãè¿ã
function isNotEnough(item) {
return item.quantity < 2;
}
console.log(inventory.findLast(isNotEnough));
// { name: "fish", quantity: 1 }
ã¢ãã¼é¢æ°ã¨æ§é åè§£ã®ä½¿ç¨
å ã®ä¾ã¯ãã¢ãã¼é¢æ°ã¨ãªãã¸ã§ã¯ãã®æ§é åè§£ã使ç¨ãã¦æ¸ããã¨ãã§ããããããã¾ããã
const inventory = [
{ name: "apples", quantity: 2 },
{ name: "bananas", quantity: 0 },
{ name: "fish", quantity: 1 },
{ name: "cherries", quantity: 5 },
];
const result = inventory.findLast(({ quantity }) => quantity < 2);
console.log(result);
// { name: "fish", quantity: 1 }
é
åä¸ã®æå¾ã®ç´ æ°ãæ¢ã
以ä¸ã®ä¾ã§ã¯ãé
åã®æå¾ã®è¦ç´ ã§ç´ æ°ã®æå¾ã®è¦ç´ ãè¿ãã¾ããç´ æ°ããªãå ´å㯠undefined
ãè¿ãã¦ãã¾ãã
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, 12].findLast(isPrime)); // undefined, not found
console.log([4, 5, 7, 8, 9, 11, 12].findLast(isPrime)); // 11
åå¨ããªãè¦ç´ ãåé¤ãããè¦ç´ ã«å¯¾ãã¦ãå¼ã³åºããã
çé
åã®ç©ºã®ã¹ãããã¯å¦çããã undefined
ã¨åãããã«æ±ããã¾ãã
// ã¤ã³ããã¯ã¹ 2ã3ã4 ã«è¦ç´ ããªãé
åã®å®£è¨
const array = [0, 1, , , , 5, 6];
// å¤ãå²ãå½ã¦ããã¦ããã¤ã³ããã¯ã¹ã ãã§ãªãããã¹ã¦ã®ã¤ã³ããã¯ã¹ã表示
array.findLast((value, index) => {
console.log(`Visited index ${index} with value ${value}`);
});
// Visited index 6 with value 6
// Visited index 5 with value 5
// Visited index 4 with value undefined
// Visited index 3 with value undefined
// Visited index 2 with value undefined
// Visited index 1 with value 1
// Visited index 0 with value 0
// åé¤ãããã¤ã³ããã¯ã¹ãå«ãããã¹ã¦ã®ã¤ã³ããã¯ã¹ã表示
array.findLast((value, index) => {
// Delete element 5 on first iteration
if (index === 6) {
console.log(`Deleting array[5] with value ${array[5]}`);
delete array[5];
}
// è¦ç´ 5 ã¯åé¤ãããã«ãããããããå¦çããã
console.log(`Visited index ${index} with value ${value}`);
});
// Deleting array[5] with value 5
// Visited index 6 with value 6
// Visited index 5 with value undefined
// Visited index 4 with value undefined
// Visited index 3 with value undefined
// Visited index 2 with value undefined
// Visited index 1 with value 1
// Visited index 0 with value 0
é
åã§ãªããªãã¸ã§ã¯ãã«å¯¾ãã findLast() ã®å¼ã³åºã
findLast()
ã¡ã½ãã㯠this
ã® length
ããããã£ãèªã¿è¾¼ã¿ã次ã«ãã¼ã length
ããå°ããéè² ã®æ´æ°ã§ããåããããã£ã«ã¢ã¯ã»ã¹ãã¾ãã
const arrayLike = {
length: 3,
0: 2,
1: 7.3,
2: 4,
3: 3, // length ã 3 ãªã®ã§ findLast() ã¯ç¡è¦ããã
};
console.log(
Array.prototype.findLast.call(arrayLike, (x) => Number.isInteger(x)),
); // 4
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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