䜿ããªããšãã£ãããªãJavaScriptã§é åå ã®ããŒã¿ãæ¢ãfind颿°
JavaScriptã§é åãæ±ãå Žåã«ã䟿å©ãªé¢æ°ãçšæãããŠããããšããåç¥ã§ãããããé åå ã®ç¹å®ã®å€ãæã€ã¬ã³ãŒããæ¢ãå Žåã«ã¯ãfind颿°ãçšãããšéåžžã«å¹ççã§ããæ¬èšäºã§ã¯ãfind颿°ã®äœ¿ãæ¹ãšé¡äŒŒãã颿°ã«ã€ããŠç޹ä»ããŸããããã°ã©ã äžã§å€æ°ãå¹ççã«æ ŒçŽããé åã¯ãããã°ã©ãã³ã°èšèªãåããè¯ãçšããããããŒã¿æ§é ã§ãããã¡ããJavaScriptã§ãé åãæ±ãããšãã§ããããã«ã¯é åãæ¡åŒµãã飿³é åã®å©çšãå¯èœã§ãã
ãããªJavaScriptã§é åãæ±ãéã«ãç©æ¥µçã«æŽ»çšãããã®ãJavaScriptã«åããããŠããArrayãªããžã§ã¯ãã®é¢æ°ã§ãã
æ¬èšäºã§ã¯é åã®äžã§ç¹å®ã®å€ãæã€ã¬ã³ãŒããååŸãããfind颿°ã«ã€ããŠãäœ¿ãæ¹ããµã³ãã«ãé¡äŒŒã®é¢æ°ãªã©ã玹ä»ããŸãã
find颿°ãšã¯
find颿°ã¯ECMAScript 2015ã«ãŠè¿œå ãããé åãæäœãã颿°ã§ããé åå ã®ç¹å®ã®å€ãæã€ã¬ã³ãŒããæ¢ããŠè¿ããŠãããŸãã
ç䌌çãªã³ãŒãã§èšèŒãããšä»¥äžã®ããã«ãªããŸãã
æ¡ä»¶ã«åèŽããé
åã®äžèŠçŽ = é
åã®ãªããžã§ã¯ã.find(æ¡ä»¶åŒ)
ãŸãã¯åçŽãªå€ã®é åã®å Žåã®ãµã³ãã«ã³ãŒããèŠãŠã¿ãŸãããã
const array = [99,88,77,66,55];
const num = array.find(element => element < 70);
console.log(num);
åºåçµæã¯
66
ãšãªããŸãã
é åarrayã宣èšããarrayããfind颿°ãåŒã³åºããŠããŸãã
find颿°ã®åŒæ°ã«ã¯ã¢ããŒåŒã§ãé åã®èŠçŽ ã®äžã§å€ã70ããå°ããããšããæ¡ä»¶åŒãæå®ããŠããŸããçµæãšããŠãäžèšã³ãŒãã§ã¯ãå é ã¬ã³ãŒãããæ¡ä»¶ã«åœãŠã¯ãŸããæ¯èŒãè¡ããæåã«èŠã€ãã£ãã66ããã³ã³ãœãŒã«ã«åºåãããŸãã
ãŸããåã¬ã³ãŒãã«è€æ°ã®å€ãæã€é åã§ããfind颿°ãå©çšããããšãå¯èœã§ãã
const students = [
{id:1, name: 'john', age: 12},
{id:2, name: 'mary', age: 10},
{id:3, name: 'taro', age: 11},
];
const student = students.find( ({ id }) => id == 2 );
console.log(student);
åºåçµæã¯ä»¥äžã®éãã§ãã
{id: 2, name: 'mary', age: 10}
ãã¡ãã®ãµã³ãã«ã³ãŒãã§ã¯id,name,ageã®äžã€ã®èŠçŽ ãæã€ã¬ã³ãŒãã®é åstudentsã«å¯Ÿããfind颿°ã䜿ã£ãŠããŸãã
find颿°ã®åŒæ°ã§ã¯ãidã2ãšäžèŽãããšããæ¡ä»¶ãæå®ããŠãããæ¡ä»¶ã«åŸã£ãŠå é ã¬ã³ãŒãããæ¯èŒãè¡ãããŸããçµæãšããŠ2ã¬ã³ãŒãç®ãéžæãããŠã{id: 2, name: 'mary', age: 10}ããã³ã³ãœãŒã«ã«ã¯åºåãããŸãã
仿§ã«ã€ããŠã®æ³šæç¹
find颿°ãå©çšããå Žåãäžèš2ç¹ã®ä»æ§ã«æ³šæããŠãã ããã
é åã®å é ããäžèŽããã¬ã³ãŒããæ¢ããæåã«èŠã€ãã£ããã®ãè¿ãã
find颿°ã®åŒæ°ã®æ¡ä»¶åŒã«åèŽããã¬ã³ãŒããè€æ°ååšããå Žåã§ããfind颿°ã§ã¯æåã®1ä»¶ã®ã¿ãè¿ãããŸããæ¡ä»¶ã®æå®ã¯æ°ãä»ããŠè¡ãå¿ èŠããããŸãã
該åœããã¬ã³ãŒãããªãå Žåãundefinedãè¿ãããã
æ¡ä»¶åŒã«åèŽããã¬ã³ãŒããååšããªãå Žåã¯undefinedãè¿ãããŸããè¿ãããå€ãå©çšããå Žåã«ã¯ãundefinedãè¿ãããã±ãŒã¹ã«ãé æ ®ããŠãããŸãããã
æ§æãšåŒæ°
findã®åŒæ°ã«ã¯ã¢ããŒé¢æ°ãã³ãŒã«ããã¯é¢æ°ãã€ã³ã©ã€ã³ã³ãŒã«ããã¯é¢æ°ãèšèŒããããšãã§ããŸãããããã®å Žåã«ããçµæãçåœå€ãšãªã颿°ãèšè¿°ããŸãã
äžè¬çã«ã¯find颿°ã®åŒæ°ã«ã¯ã¢ããŒé¢æ°ãæå®ãããã±ãŒã¹ãå€ãã§ããããã¯ãECMAScript2015ã§find颿°ãšã¢ããŒé¢æ°ã®äž¡è ãå©çšå¯èœãšãªã£ããããšèããããŸãã
ãŸããã¢ããŒé¢æ°ãã³ãŒã«ããã¯é¢æ°ãã€ã³ã©ã€ã³ã³ãŒã«ããã¯é¢æ°ã®åŒæ°ã«ã¯ãåŠçäžã®èŠçŽ elementãæ·»ãåIndexãæå®ããããšãå¯èœã§ãã
åèïŒmdn web docsãArray.prototype.find()ã
find颿°ãå©çšãããã±ãŒã¹
find颿°ã¯ãjson圢åŒã§è€æ°é ç®ãæã€ããŒã¿ãé åã§æ±ãéã«ãç¹å®ã¬ã³ãŒããååŸããçšéã§è¯ãå©çšãããŸããæ¡ä»¶åŒã®éšåã倿°çã§èšè¿°ããããšã§æè»ã«å©çšããããšãå¯èœã§ãã
ãŸããfind颿°ã®åŒæ°å ã®æ¡ä»¶åŒã¯å€ã®äžèŽã ãã§ã¯ãªãäžçå·ãå©çšå¯èœã§ããæ°å€ã§ã®ç¯å²æå®ãªã©ã§çšéãæ¡ãããŸãã
find颿°ãšé¡äŒŒãã颿°
æ¬èšäºã§ç޹ä»ããfind颿°ä»¥å€ã«ããé åã«å©çšã§ãã䟿å©ãªé¢æ°ããããŸããçšéã«ãã£ãŠäœ¿ãåããŸãããã
åèïŒmdn web docsãArrayã
findIndex颿°
findIndex颿°ãæå®ããæ¡ä»¶ã®ã¬ã³ãŒããé åããæ¢ã颿°ã§ããfindIndex颿°ã®å Žåãæ»ãå€ã¯è©²åœããã¬ã³ãŒãã®é åã®æ·»ãåïŒIndexïŒãšãªããŸãã
é åã«æ ŒçŽãããå€ãã®ãã®ã§ã¯ãªããäœçªç®ã«å€ãæ ŒçŽãããŠãããã調ã¹ãéã«çšããŸãã
filter颿°
filter颿°ã¯find颿°ãšåæ§ã«é åå ã®æ¡ä»¶åŒã«åèŽããã¬ã³ãŒããæ¢ãããã®å€ãè¿ã颿°ã§ããfilter颿°ã®å Žåã¯ãå ã®é åå ããæ¡ä»¶åŒã«åœãŠã¯ãŸãã¬ã³ãŒããå šãŠãšãã ããæ»ãå€ãšããŠé åã§è¿ããŸãã
é åããæ¡ä»¶åŒã«è©²åœããããŒã¿å šãŠãååŸãããå Žåã«ã¯filter颿°ãæå¹ã§ãã
includes颿°
includes颿°ã¯åŒæ°ã«æå®ãããå€ãé åå ã«ååšããããšãæ¢ã颿°ã§ããåŒæ°ã«ã¯æ°å€ãæååãæå®ããããšãã§ããã¬ã³ãŒãã1è¡ä»¥äžååšããå Žåã«ã¯trueããã以å€ã¯falseãè¿ããŸãã
é åã«ããå€ãå«ãŸãããã©ããã®ãã§ãã¯ã«å©çšãããŸãã
some颿°
some颿°ãé åå ã«æ¡ä»¶åŒã«åãã¬ã³ãŒããååšããããšãæ¢ã颿°ã§ããsome颿°ã®å Žåã¯ãæ¡ä»¶ã«åãã¬ã³ãŒãã1è¡ä»¥äžååšããå Žåã«ã¯trueããã以å€ã¯falseãè¿ããŸãã
ãŸãšã
JavaScriptã§é åãæ±ãå ŽåãArrayãªããžã§ã¯ãã®é¢æ°ãå©çšãããšéçºãå¹çåããããšãã§ããŸããfind颿°ã§ã¯æ¡ä»¶ã«äžèŽããé åã®ã¬ã³ãŒããååŸããããšãå¯èœã§ãã
ãŸããfindIndex()ãfilter()ãsome()ãªã©ã®é¢æ°ã§ãé åã«æ¡ä»¶ã«äžèŽããã¬ã³ãŒããååšãããã©ãããæ¢ãããšãã§ããŸããæ»ãå€ã«éãããããããå©çšã·ãŒã³ã«åãããŠäœ¿ãåããŸãããã












