Baseline Widely available
find()
㯠Array
ã¤ã³ã¹ã¿ã³ã¹ã®ã¡ã½ããã§ãæä¾ããããã¹ã颿°ãæºããé
åå
ã®æåã®è¦ç´ ãè¿ãã¾ãã ãã¹ã颿°ãæºããå¤ããªãå ´åã¯ã undefined
ãè¿ãã¾ãã
findIndex()
ã使ç¨ãã¦ãã ãããindexOf()
ã使ç¨ãã¦ãã ããã(findIndex()
ã¨ä¼¼ã¦ãã¾ãããããããã®è¦ç´ ã®ç価æ§ã¯ãã¹ã颿°ã§ã¯ãªãå¤ã§ãã§ãã¯ãã¾ãã)includes()
ã使ç¨ãã¦ãã ãããsome()
ã使ç¨ãã¦ãã ãããfilter()
ã使ç¨ãã¦ãã ãããconst array = [5, 12, 8, 130, 44];
const found = array.find((element) => element > 10);
console.log(found);
// äºæ³ãããçµæ: 12
æ§æ
find(callbackFn)
find(callbackFn, thisArg)
弿°
callbackFn
é åã®ããããã®è¦ç´ ã«å¯¾ãã¦å®è¡ãã颿°ã§ããä¸è´ããè¦ç´ ãå¾ããããã¨ã示ãã«ã¯çå¤ãè¿ããããã§ãªããã°å½å¤ãè¿ãã¦ãã ããããã®é¢æ°ã¯ä»¥ä¸ã®å¼æ°ã§å¼ã³åºããã¾ãã
element
é åå ã§ç¾å¨å¦çããã¦ããè¦ç´ ã§ãã
index
é åå ã§ç¾å¨å¦çããã¦ããè¦ç´ ã®ã¤ã³ããã¯ã¹ï¼ä½ç½®ï¼ã§ãã
array
find()
ãå¼ã³åºããå
ã®é
åã§ãã
thisArg
çç¥å¯
callbackFn
å
ã§ this
ã¨ãã¦ä½¿ããããªãã¸ã§ã¯ãã§ããå復å¦çã¡ã½ãããåç
§ãã¦ãã ããã
é
åã®ä¸ã§ãæä¾ããããã¹ã颿°ãæºããæåã®è¦ç´ ã§ãã è¦ã¤ãããªãã£ãå ´å㯠undefined
ãè¿ãã¾ãã
find()
ã¡ã½ããã¯å復å¦çã¡ã½ããã§ããé
åã®è¦ç´ ã®ããããã«å¯¾ãã¦ãã¤ã³ããã¯ã¹ã®æé ã«ä¸åº¦ã㤠callbackFn
颿°ãå®è¡ããcallbackFn
颿°ãçå¤ãè¿ãã¾ã§ç¹°ãè¿ãã¾ãã find()
ã¯ãã®è¦ç´ ãè¿ããé
åã®å復å¦çã忢ãã¾ãããã callbackFn
ãçå¤ãè¿ããªãå ´åã find()
㯠undefined
ãè¿ãã¾ãããããã®ã¡ã½ãããä¸è¬çã«ã©ã®ããã«åä½ããã®ãã«ã¤ãã¦ã®è©³ç´°ã¯ãå復å¦çã¡ã½ããã®ç¯ãåç
§ãã¦ãã ããã
callbackFn
ã¯ãå¤ãå²ãå½ã¦ããã¦ãããã®ã«éãããé
åä¸ã®ãã¹ã¦ã®ã¤ã³ããã¯ã¹ã«å¯¾ãã¦å¼ã³åºããã¾ããçé
åã§ã¯ã空ã®ã¹ããã㯠undefined
ã¨åãåä½ããã¾ãã
find()
ã¡ã½ããã¯æ±ç¨çã§ãããã㯠this
å¤ã« length
ããããã£ã¨æ´æ°ãã¼ã®ããããã£ããããã¨ã ããæå¾
ãã¾ãã
const inventory = [
{ name: "apples", quantity: 2 },
{ name: "bananas", quantity: 0 },
{ name: "cherries", quantity: 5 },
];
function isCherries(fruit) {
return fruit.name === "cherries";
}
console.log(inventory.find(isCherries));
// { name: 'cherries', quantity: 5 }
ã¢ãã¼é¢æ°ã¨æ§é åè§£ã®ä½¿ç¨
const inventory = [
{ name: "apples", quantity: 2 },
{ name: "bananas", quantity: 0 },
{ name: "cherries", quantity: 5 },
];
const result = inventory.find(({ name }) => name === "cherries");
console.log(result); // { name: 'cherries', quantity: 5 }
é
åå
ã®æåã®ç´ æ°ã®æ¤ç´¢
次ã®ä¾ã¯ãé
åã®ä¸ã§æåã®ç´ æ°ã§ããè¦ç´ ãè¿ãã¾ããç´ æ°ããªãå ´åã¯ãundefined
ãè¿ãã¾ãã
function isPrime(n) {
if (n < 2) {
return false;
}
if (n % 2 === 0) {
return n === 2;
}
for (let factor = 3; factor * factor <= n; factor += 2) {
if (n % factor === 0) {
return false;
}
}
return true;
}
console.log([4, 6, 8, 12].find(isPrime)); // undefined, è¦ã¤ãããªã
console.log([4, 5, 8, 12].find(isPrime)); // 5
ã¡ã¢: isPrime()
ã®å®è£
ã¯ã説æã®ã¿ãç®çã¨ãã¦ãã¾ããå®éã®ã¢ããªã±ã¼ã·ã§ã³ã§ã¯ãç¹°ãè¿ãè¨ç®ãé¿ããããã«ãã¨ã©ãã¹ããã¹ã®ç¯©ãªã©ã®ãé«åº¦ã«æé©åãããã¢ã«ã´ãªãºã ã使ç¨ãããã¨ããå§ããã¾ãã
array
弿°ã¯ãé
åå
ã®å¥ã®è¦ç´ ã«ã¢ã¯ã»ã¹ããå ´åãç¹ã«ããã®é
åãåç
§ããæ¢åã®å¤æ°ããªãå ´åã«ä¾¿å©ã§ããæ¬¡ã®ä¾ã§ã¯ãã¾ã filter()
ã使ç¨ãã¦æ£ã®å¤ãæ½åºããæ¬¡ã« find()
ã使ç¨ãã¦ããã®å¤ãããå°ããæåã®è¦ç´ ãè¦ã¤ãã¾ãã
const numbers = [3, -1, 1, 4, 1, 5, 9, 2, 6];
const firstTrough = numbers
.filter((num) => num > 0)
.find((num, idx, arr) => {
// arr 弿°ããªãå ´åã夿°ã«ä¿åããã«ä¸éé
åã«ç°¡åã«
// ã¢ã¯ã»ã¹ããæ¹æ³ã¯ããã¾ããã
if (idx > 0 && num >= arr[idx - 1]) return false;
if (idx < arr.length - 1 && num >= arr[idx + 1]) return false;
return true;
});
console.log(firstTrough); // 1
çé
åã«ããã find() ã®ä½¿ç¨
çé
åã®ç©ºã®ã¹ãããã¯å¦çããã undefined
ã¨åãããã«æ±ããã¾ãã
// ã¤ã³ããã¯ã¹ã 2, 3, 4 ã®ä½ç½®ã«è¦ç´ ããªãé
åã宣è¨
const array = [0, 1, , , , 5, 6];
// å¤ãå²ãå½ã¦ããã¦ãããã®ã«éããããã¹ã¦ã®ã¤ã³ããã¯ã¹ã表示
array.find((value, index) => {
console.log("Visited index", index, "with value", value);
return false;
});
// Visited index 0 with value 0
// Visited index 1 with value 1
// Visited index 2 with value undefined
// Visited index 3 with value undefined
// Visited index 4 with value undefined
// Visited index 5 with value 5
// Visited index 6 with value 6
// åé¤ããããã®ãå«ãããã¹ã¦ã®ã¤ã³ããã¯ã¹ã表示
array.find((value, index) => {
// æåã®å復å¦çã§è¦ç´ 5 ãåé¤
if (index === 0) {
console.log("Deleting array[5] with value", array[5]);
delete array[5];
}
// è¦ç´ 5 ã¯åé¤ããããããªãå¦ç対象ã¨ãªã
console.log("Visited index", index, "with value", value);
return false;
});
// Deleting array[5] with value 5
// Visited index 0 with value 0
// Visited index 1 with value 1
// Visited index 2 with value undefined
// Visited index 3 with value undefined
// Visited index 4 with value undefined
// Visited index 5 with value undefined
// Visited index 6 with value 6
é
åã§ãªããªãã¸ã§ã¯ãã«å¯¾ãã find() ã®å¼ã³åºã
find()
ã¡ã½ãã㯠this
ã® length
ããããã£ãèªã¿è¾¼ã¿ã次ã«ãã¼ã length
ããå°ããéè² ã®æ´æ°ã§ããåããããã£ã«ã¢ã¯ã»ã¹ãã¾ãã
const arrayLike = {
length: 3,
"-1": 0.1, // -1 < 0 ã§ãããã find() ããã¯ç¡è¦ããã
0: 2,
1: 7.3,
2: 4,
};
console.log(Array.prototype.find.call(arrayLike, (x) => !Number.isInteger(x)));
// 7.3
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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