Baseline Widely available
Array
ì¸ì¤í´ì¤ì find()
ë©ìëë ì ê³µë ë°°ì´ìì ì ê³µë í
ì¤í¸ í¨ì를 ë§ì¡±íë 첫 ë²ì§¸ ìì를 ë°íí©ëë¤. í
ì¤í¸ í¨ì를 ë§ì¡±íë ê°ì´ ìì¼ë©´ undefined
ê° ë°íë©ëë¤.
findIndex()
를 ì¬ì©íì¸ì.indexOf()
를 ì¬ì©íì¸ì. (findIndex()
ì ì ì¬íì§ë§, í
ì¤í¸ í¨ì를 ì¬ì©íë ê² ëì ê° ììê° ê°ê³¼ ëì¼íì§ íì¸í©ëë¤.)includes()
를 ì¬ì©íì¸ì. ì´ ìì í
ì¤í¸ í¨ì를 ì¬ì©íë ê² ëì ê° ììê° ê°ê³¼ ëì¼íì§ íì¸í©ëë¤.some()
ì ì¬ì©íì¸ì.filter()
ì ì¬ì©íì¸ì.const array1 = [5, 12, 8, 130, 44];
const found = array1.find((element) => element > 10);
console.log(found);
// Expected output: 12
구문
find(callbackFn)
find(callbackFn, thisArg)
매ê°ë³ì
callback
ë°°ì´ì ê° ììì ëí´ ì¤íí í¨ìì ëë¤. ì¼ì¹íë ìì를 ì°¾ìì¼ë©´ ì°¸ ê°ì ë°ííê³ , ê·¸ë ì§ ìì¼ë©´ ê±°ì§ ê°ì ë°íí´ì¼ í©ëë¤. í¨ìë ë¤ì ì¸ì를 ì¬ì©íì¬ í¸ì¶ë©ëë¤.
element
ë°°ì´ìì íì¬ ì²ë¦¬ëê³ ìë ìì.
index
ë°°ì´ìì íì¬ ì²ë¦¬ëê³ ìë ììì ì¸ë±ì¤.
array
find()
ê° í¸ì¶ë ë°°ì´.
thisArg
Optional
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(element, index, array) {
let start = 2;
while (start <= Math.sqrt(element)) {
if (element % start++ < 1) {
return false;
}
}
return element > 1;
}
console.log([4, 6, 8, 12].find(isPrime)); // undefined, ìì ìì
console.log([4, 5, 8, 12].find(isPrime)); // 5
callbackFnì ì¸ ë²ì§¸ ì¸ì ì¬ì©í기
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("방문 ì¸ë±ì¤:", index, "ê°:", value);
});
// 방문 ì¸ë±ì¤: 0 ê°: 0
// 방문 ì¸ë±ì¤: 1 ê°: 1
// 방문 ì¸ë±ì¤: 2 ê°: undefined
// 방문 ì¸ë±ì¤: 3 ê°: undefined
// 방문 ì¸ë±ì¤: 4 ê°: undefined
// 방문 ì¸ë±ì¤: 5 ê°: 5
// 방문 ì¸ë±ì¤: 6 ê°: 6
// ìì ë ìì를 í¬í¨í 모ë ì¸ë±ì¤ë¥¼ íìí©ëë¤.
array.find((value, index) => {
// 첫 ë²ì§¸ ìíìì ìì 5 ìì
if (index === 0) {
console.log(array[5], "ê°ì¸ array[5] ìì ");
delete array[5];
}
// ìì ë ìì 5를 í¬í¨íì¬ ëª¨ë ì¸ë±ì¤ë¥¼ 방문í©ëë¤.
console.log("방문 ì¸ë±ì¤:", index, "ê°:", value);
});
// 5 ê°ì¸ array[5] ìì
// 방문 ì¸ë±ì¤: 0 ê°: 0
// 방문 ì¸ë±ì¤: 1 ê°: 1
// 방문 ì¸ë±ì¤: 2 ê°: undefined
// 방문 ì¸ë±ì¤: 3 ê°: undefined
// 방문 ì¸ë±ì¤: 4 ê°: undefined
// 방문 ì¸ë±ì¤: 5 ê°: undefined
// 방문 ì¸ë±ì¤: 6 ê°: 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