5 ื˜ื™ืคึผื™ืฉ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ืื™ื ื˜ืขืจื•ื•ื™ื• ื˜ืึทืกืงืก: ืึทื ืึทืœื™ืกื™ืก ืื•ืŸ ืกืึทืœื•ืฉืึทื ื–

5 ื˜ื™ืคึผื™ืฉ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ืื™ื ื˜ืขืจื•ื•ื™ื• ื˜ืึทืกืงืก: ืึทื ืึทืœื™ืกื™ืก ืื•ืŸ ืกืึทืœื•ืฉืึทื ื–

ืคื•ืŸ ื“ืขืจ ืื™ื‘ืขืจื–ืขืฆืขืจ: ืืจื•ื™ืก ืึทืŸ ืึทืจื˜ื™ืงืœ ืคึฟืึทืจ ืื™ืจ Maria Antonietta Perna, ื•ื•ืึธืก ืจืขื“ื˜ ื•ื•ืขื’ืŸ ืคึผืจืึธืกื˜ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ื˜ืึทืกืงืก, ืจื•ื‘ึฟ ืึธืคื˜ ื’ืขืคึฟื™ื ื˜ ืฆื• ื“ืขื•ื•ืขืœืึธืคึผืขืจ ืึทืคึผืœื™ืงืึทื ืฅ ื‘ืขืฉืึทืก ื™ื ื˜ืขืจื•ื•ื™ื•ื–. ื“ืขืจ ืึทืจื˜ื™ืงืœ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื ื•ืฆื™ืง, ืขืจืฉื˜ืขืจ ืคื•ืŸ ืึทืœืข, ืคึฟืึทืจ ืึธื ื”ื™ื™ื‘ืขืจ ืคึผืจืึธื•ื’ืจืึทืžืขืจื–.

ื™ื ื˜ืขืจื•ื•ื™ื•ื– ืื™ืŸ ื˜ืขืง ืงืึธืžืคึผืึทื ื™ืขืก ื”ืึธื‘ืŸ ืœืึทื ื’ ืฉื•ื™ืŸ ื“ื™ ืจืขื“ืŸ ืคื•ืŸ ื“ื™ ืฉื˜ืึธื˜. ื“ืึธืก ื–ืึธืœ ื ื™ืฉื˜ ื–ื™ื™ืŸ ื—ื™ื“ื•ืฉ - ื”ืฆืœื—ื” ื“ื•ืจื›ื’ื™ื™ืŸ ืึทืŸ ืื™ื ื˜ืขืจื•ื•ื™ื• ื’ื™ื˜ ืื™ืจ ื“ื™ ื’ืขืœืขื’ื ื”ื™ื™ื˜ ืฆื• ื‘ืึทืงื•ืžืขืŸ ืึท ื’ื•ื˜ ืึทืจื‘ืขื˜. ืื‘ืขืจ ื“ืึธืก ืื™ื– ื ื™ืฉื˜ ืึทื–ื•ื™ ืคึผืฉื•ื˜, ื•ื•ื™ื™ึทืœ ืงืึธืžืคึผืœืขืงืก ืคึผืจืึธื‘ืœืขืžืก ืึธืคื˜ ื“ืึทืจืคึฟืŸ ืฆื• ื–ื™ื™ืŸ ืกืึทืœื•ื•ื“.

ื“ืขืจืฆื•, ืจื•ื‘ึฟ ืคื•ืŸ ื“ื™ ื˜ืึทืกืงืก ื–ืขื ืขืŸ ื ื™ืฉื˜ ืฉื™ื™ืš ืฆื• ื“ื™ ืึทืจื‘ืขื˜ ื•ื•ืึธืก ื“ืขืจ ืึทืคึผืœื™ืงืึทื ื˜ ื•ื•ืขื˜ ื“ื•ืจื›ืคื™ืจืŸ, ืึธื‘ืขืจ ื–ื™ื™ ื ืึธืš ื“ืึทืจืคึฟืŸ ืฆื• ื–ื™ื™ืŸ ืกืึทืœื•ื•ื“. ืžืืœ ืื™ืจ ื”ืึธื‘ืŸ ืฆื• ื˜ืึธืŸ ื“ืึธืก ืื•ื™ืฃ ื“ื™ ื‘ืจืขื˜, ืึธืŸ ื˜ืฉืขืง ืžื™ื˜ Google ืึธื“ืขืจ ืงื™ื™ืŸ ืื ื“ืขืจืข ืžืงื•ืจ. ื™ืึธ, ื“ื™ ืกื™ื˜ื•ืึทืฆื™ืข ืื™ื– ื‘ื™ืกืœืขื›ื•ื•ื™ื™ึทื– ื˜ืฉืึทื ื’ื™ื ื’, ืื•ืŸ ืขื˜ืœืขื›ืข ืงืึธืžืคึผืึทื ื™ืขืก ืคืึทืจืœืึธื–ืŸ ืึทื–ืึท ื™ื ื˜ืขืจื•ื•ื™ื•ื–, ืึธื‘ืขืจ ืคื™ืœืข ืขืžืคึผืœื•ื™ืขืจืก ื ืึธืš ืึทื“ื›ื™ืจ ืฆื• ื“ืขื ืžืกื•ืจื”. ื“ืขืจ ืึทืจื˜ื™ืงืœ ืื™ื– ื“ืขื“ืึทืงื™ื™ื˜ืึทื“ ืฆื• ื“ื™ ืึทื ืึทืœื™ืกื™ืก ืคื•ืŸ ื˜ื™ืคึผื™ืฉ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ื˜ืึทืกืงืก ื•ื•ืึธืก ื–ืขื ืขืŸ ืึธืคื˜ ื’ืขื ื™ืฆื˜ ื•ื•ื™ ื˜ืึทืกืงืก ืคึฟืึทืจ ืึทืจื‘ืขื˜ ืกื™ืงืขืจื–.

ืžื™ืจ ื“ืขืจืžืึธื ืขืŸ ืื™ืจ: ืคึฟืึทืจ ืึทืœืข ืœื™ื™ืขื ืขืจ ืคื•ืŸ "ื”ื‘ืจ" - ืึท ืึทืจืึธืคึผืจืขื›ืขื ืขืŸ ืคื•ืŸ 10 ืจื•ื‘ืœ ื•ื•ืขืŸ ืื™ืจ ืคืึทืจืฉืจื™ื™ึทื‘ืŸ ืื™ืŸ ืงื™ื™ืŸ ืกืงื™ืœื‘ืึธืงืก ืงื•ืจืก ื ื™ืฆืŸ ื“ื™ ืคึผืขืจืžืึธื•ืฉืึทื ืึทืœ ืงืึธื“ "ื”ื‘ืจ".

Skillbox ืจืขืงืึทืžืขื ื“ื–: ืคึผืจืึทืงื˜ื™ืฉ ืงื•ืจืก "ืžืึธื‘ื™ืœ ื“ืขื•ื•ืขืœืึธืคึผืขืจ ืคึผืจืึธ".

ื“ื™ ื”ื•ื™ืคึผื˜ ื–ืึทืš ืื™ื– ืฆื• ื’ืจื™ื™ื˜ืŸ ื–ื™ืš ืคึฟืึทืจ ื“ื™ื™ืŸ ืื™ื ื˜ืขืจื•ื•ื™ื•.

ื™ืึธ, ืื™ื™ื“ืขืจ ืžื™ืจ ืึธื ื”ื™ื™ื‘ืŸ ืฆื• ืงื•ืงืŸ ืื™ืŸ ื“ื™ ื˜ืึทืกืงืก, ืœืึธื–ืŸ ืื•ื ื“ื– ืงื•ืง ืื™ืŸ ืขื˜ืœืขื›ืข ืึทืœื’ืขืžื™ื™ื ืข ืื™ื ื˜ืขืจื•ื•ื™ื• ืฆื•ื’ืจื™ื™ื˜ื•ื ื’ ืขืฆื•ืช.

ื“ื™ ื”ื•ื™ืคึผื˜ ื–ืึทืš ืื™ื– ืฆื• ืฆื•ื’ืจื™ื™ื˜ืŸ ืื™ืŸ ืฉื˜ื™ื™ึทื’ืŸ. ืคึผืจื•ื‘ื™ืจืŸ ื•ื•ื™ ื’ื•ื˜ ืื™ืจ ื’ืขื“ืขื ืงืขืŸ ืึทืœื’ืขืจื™ื“ืึทืžื– ืื•ืŸ ื“ืึทื˜ืŸ ืกื˜ืจืึทืงื˜ืฉืขืจื–, ืื•ืŸ ืคึฟืึทืจื‘ืขืกืขืจืŸ ื“ื™ื™ืŸ ื•ื•ื™ืกืŸ ืื™ืŸ ื’ืขื‘ื™ื˜ืŸ ื•ื•ืึธืก ืื™ืจ ื–ืขื ื˜ ื ื™ืฉื˜ ืฆื• ื‘ืึทืงืึทื ื˜ ืžื™ื˜. ืขืก ื–ืขื ืขืŸ ืคื™ืœืข ืึธื ืœื™ื™ืŸ ืคึผืœืึทื˜ืคืึธืจืžืก ื•ื•ืึธืก ืงืขื ืขืŸ ื”ืขืœืคึฟืŸ ืื™ืจ ืฆื•ื’ืจื™ื™ื˜ืŸ ืคึฟืึทืจ ื™ื ื˜ืขืจื•ื•ื™ื•ื–. ืžื™ืจ ืจืขืงืึธืžืขื ื“ื™ืจืŸ ื’ืขืขืงืกืคืึธืจื’ืขืขืงืก, ืคึผืจืึทืžืคึผ, Interviewing.io ะธ ืงืึธื“ืขืกื™ื’ื ืึทืœ.

ืขืก ืื™ื– ื•ื•ืขืจื˜ ืฆื• ืœืขืจื ืขืŸ ืฆื• ื–ืึธื’ืŸ ื“ืขื ื‘ืึทืฉืœื•ืก ื”ื•ื™ืš. ืขืก ืื™ื– ืงืขื“ื™ื™ึทื™ืง ืฆื• ื–ืึธื’ืŸ ืึทืคึผืœื™ืงืึทื ืฅ ื•ื•ืขื’ืŸ ื•ื•ืึธืก ืื™ืจ ื˜ืึธืŸ, ืื•ืŸ ื ื™ื˜ ื ืึธืจ ืฉืจื™ื™ึทื‘ืŸ ืื•ื™ืฃ ื“ื™ ื‘ืจืขื˜ (ืึธื“ืขืจ ืึทืจื™ื™ึทืŸ ืงืึธื“ ืื™ืŸ ื“ื™ ืงืึธืžืคึผื™ื•ื˜ืขืจ, ืื•ื™ืš ื‘ื™ืฉื˜ื™ืงืข). ื“ืขื ื•ื•ืขื’, ืื•ื™ื‘ ืื™ืจ ืžืึทื›ืŸ ืึท ื’ืจื™ื™ึทื– ืื™ืŸ ื“ืขื ืงืึธื“, ืึธื‘ืขืจ ื“ื™ ืœื™ื™ื–ื•ื ื’ ืื™ื– ื‘ื›ืœืœ ืจื™ื›ื˜ื™ืง, ืื™ืจ ืงืขื ืขืŸ ืคืึทืจื’ืจืขืกืขืจืŸ ื“ื™ื™ืŸ ื’ื™ื›ืขืจ ืคื•ืŸ ื”ืฆืœื—ื”.

ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืคึฟืึทืจืฉื˜ื™ื™ืŸ ื“ื™ ืคึผืจืึธื‘ืœืขื ืื™ื™ื“ืขืจ ืื™ืจ ืึธื ื”ื™ื™ื‘ืŸ ืฆื• ืกืึธืœื•ื•ืข ืขืก. ืื™ืŸ ืขื˜ืœืขื›ืข ืงืึทืกืขืก, ืื™ืจ ืงืขืŸ ืคึฟืึทืจืฉื˜ื™ื™ืŸ ืึท ืึทืจื‘ืขื˜ ืื•ื™ื‘ื ืื•ื™ืคื™ืงืขืจ ืื•ืŸ ื“ืึทืŸ ื’ื™ื™ืŸ ืึทืจืึธืคึผ ื“ื™ ืื•ืžืจืขื›ื˜ ื•ื•ืขื’. ืขืก ืงืขืŸ ื–ื™ื™ืŸ ื•ื•ืขืจื˜ ืฆื• ืคืจืขื’ืŸ ืึท ื‘ื™ืกืœ ืงืœืขืจืึทืคื™ื™ื™ื ื’ ืคืจืื’ืขืก ืฆื• ื“ื™ ื™ื ื˜ืขืจื•ื•ื™ื•ื–ืขืจ.

ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืคื™ืจ ืฉืจื™ื™ื‘ืŸ ืงืึธื“ ื“ื•ืจืš ื”ืึทื ื˜, ื ื™ืฉื˜ ืื•ื™ืฃ ืึท ืคึผื™ืกื™. ืขืก ื›ืึทืคึผืึทื ื– ืึทื– ื‘ืขืฉืึทืก ื™ื ื˜ืขืจื•ื•ื™ื•ื– ื“ืขืจ ืึทืคึผืœื™ืงืึทื ื˜ ืื™ื– ื’ืขื’ืขื‘ืŸ ืึท ืžืึทืจืงืขืจ ืื•ืŸ ืึท ื•ื•ื”ื™ื˜ืขื‘ืึธืึทืจื“, ื•ื•ื• ืขืก ื–ืขื ืขืŸ ืงื™ื™ืŸ ื”ื™ื ืฅ ืึธื“ืขืจ ืึธื˜ืึทืžืึทื˜ื™ืง ืคืึธืจืžืึทื˜ื˜ื™ื ื’. ื•ื•ืขืŸ ืื™ืจ ื–ื•ื›ื˜ ืคึฟืึทืจ ืึท ืœื™ื™ื–ื•ื ื’, ืขืก ืื™ื– ื•ื•ืขืจื˜ ืฆื• ืฉืจื™ื™ึทื‘ืŸ ื“ื™ื™ืŸ ืงืึธื“ ืื•ื™ืฃ ืึท ืฉื˜ื™ืง ืคื•ืŸ ืคึผืึทืคึผื™ืจ ืึธื“ืขืจ ื’ืœื™ื™ึทืš ืื•ื™ืฃ ื“ื™ ื‘ืจืขื˜. ืื•ื™ื‘ ืื™ืจ ื”ืึทืœื˜ืŸ ืึทืœืฅ ืื™ืŸ ื“ื™ื™ืŸ ืงืึธืคึผ, ืื™ืจ ืงืขืŸ ืคืึทืจื’ืขืกืŸ ืขืคึผืขืก ื•ื•ื™ื›ื˜ื™ืง.

ืžื•ืกื˜ืขืจ ื˜ืึทืกืงืก ืื™ืŸ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜

ืขื˜ืœืขื›ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ื˜ืึทืกืงืก ื–ืขื ืขืŸ ืžื™ืกื˜ืึธืžืข ืฉื•ื™ืŸ ื‘ืึทืงืึทื ื˜ ืฆื• ืื™ืจ. ืื™ืจ ื”ืึธื˜ ืึธื“ืขืจ ื”ืึธื‘ืŸ ื™ื ื˜ืขืจื•ื•ื™ื•ื– ื•ื•ื• ืื™ืจ ื”ืึธื‘ืŸ ืฆื• ืกืึธืœื•ื•ืข ืขืคึผืขืก ืขื ืœืขืš, ืึธื“ืขืจ ืคึผืจืึทืงื˜ื™ืกื˜ ืื•ื™ืฃ ื–ื™ื™ ื‘ืฉืขืช ืื™ืจ ืœืขืจื ืขืŸ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜. ื ื•, ืื™ืฆื˜ ืขืก ืื™ื– ืฆื™ื™ื˜ ืฆื• ืกืึธืœื•ื•ืข ื–ื™ื™ ื•ื•ื™ื“ืขืจ, ืื•ืŸ ืžื™ื˜ ืึท ื“ื™ื˜ื™ื™ืœื“ ื“ืขืจืงืœืขืจื•ื ื’ ืคื•ืŸ ื“ืขื ืคึผืจืึธืฆืขืก.

ืคึผืึทืœื™ื ื“ืจืึธืžืข

ื ืคึผืึทืœื™ื ื“ืจืึธืžืข ืื™ื– ืึท ื•ื•ืึธืจื˜, ื–ืึทืฅ ืึธื“ืขืจ ืกื™ืงื•ื•ืึทื ืก ืคื•ืŸ ืื•ืชื™ื•ืช ื•ื•ืึธืก ืื™ื– ืœื™ื™ืขื ืขืŸ ืคึผื•ื ืงื˜ ื“ื™ ื–ืขืœื‘ืข ืกื™ื™ ืื™ืŸ ื“ื™ ื’ืขื•ื•ื™ื™ื ื˜ืœืขืš ืจื™ื›ื˜ื•ื ื’ ืื•ืŸ ืื™ืŸ ื“ื™ ืคืึทืจืงืขืจื˜ ืจื™ื›ื˜ื•ื ื’. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, "ืึทื ื ืึท" ืื™ื– ืึท ืคึผืึทืœื™ื ื“ืจืึธืžืข, ืึธื‘ืขืจ "ื˜ื™ืฉ" ืื•ืŸ "ื™ื•ื—ื ืŸ" ื–ืขื ืขืŸ ื ื™ืฉื˜.

ืกื˜ืึทื’ื™ื ื’

ื’ืขื’ืขื‘ืŸ ืึท ืฉื˜ืจื™ืงืœ; ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืฉืจื™ื™ึทื‘ืŸ ืึท ืคึฟื•ื ืงืฆื™ืข ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืฆื•ืจื™ืงืงื•ืžืขืŸ ืืžืช ืื•ื™ื‘ ื“ื™ ืฉื˜ืจื™ืงืœ ืื™ื– ืึท ืคึผืึทืœื™ื ื“ืจืึธืžืข, ืื•ืŸ ืคืึทืœืฉ ืื•ื™ื‘ ื ื™ืฉื˜. ืื™ืŸ ื“ืขื ืคืึทืœ, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื ืขืžืขืŸ ืื™ืŸ ื—ืฉื‘ื•ืŸ ืกืคึผื™ื™ืกืึทื– ืื•ืŸ ืคึผื•ื ืงื˜ื•ืึทืฆื™ืข ืžืึทืจืงืก.

ืคึผืึทืœื™ื ื“ืจืึธืžืข ('ืจืึทืกืขืงืึทืจ') === ืืžืช
ืคึผืึทืœื™ื ื“ืจืึธืžืข ('ื˜ื™ืฉ') === ืคืึทืœืฉ

ื–ืืœ ืก ืคื•ื ืึทื ื“ืขืจืงืœื™ื™ึทื‘ืŸ ื“ื™ ืึทืจื‘ืขื˜

ื“ืขืจ ื”ื•ื™ืคึผื˜ ื’ืขื“ืึทื ืง ื“ืึธ ืื™ื– ืฆื• ืคืึทืจืงืขืจื˜ ื“ื™ ืฉื˜ืจื™ืงืœ. ืื•ื™ื‘ ื“ืขืจ "ืคืึทืจืงืขืจื˜" ืฉื˜ืจื™ืงืœ ืื™ื– ื’ืึธืจ ื™ื™ื“ืขื ื™ืงืึทืœ ืฆื• ื“ืขืจ ืึธืจื™ื’ื™ื ืขืœ, ืžื™ืจ ื”ืึธื‘ืŸ ื‘ืืงื•ืžืขืŸ ืึท ืคึผืึทืœื™ื ื“ืจืึธืžืข ืื•ืŸ ื“ื™ ืคึฟื•ื ืงืฆื™ืข ื–ืึธืœ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืืžืช. ืื•ื™ื‘ ื ื™ืฉื˜, ืคืึทืœืฉ.

ื‘ืึทืฉื™ื™ื“

ื“ืึธ ืื™ื– ื“ืขืจ ืงืึธื“ ื•ื•ืึธืก ืกืึทืœื•ื•ื– ื“ื™ ืคึผืึทืœื™ื ื“ืจืึธืžืข.

const palindrome = str => {
  // turn the string to lowercase
  str = str.toLowerCase()
  // reverse input string and return the result of the
  // comparisong
  return str === str.split('').reverse().join('')
}

ื“ืขืจ ืขืจืฉื˜ืขืจ ืฉืจื™ื˜ ืื™ื– ืฆื• ื’ืขืจ ื“ื™ ืื•ืชื™ื•ืช ืื™ืŸ ื“ื™ ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ืฉื˜ืจื™ืงืœ ืฆื• ื ื™ื“ืขืจื™ืงืขืจ ืคืึทืœ. ื“ืึธืก ืื™ื– ืึท ื’ืึทืจืึทื ื˜ื™ืจืŸ ืึทื– ื“ื™ ืคึผืจืึธื’ืจืึทื ื•ื•ืขื˜ ืคืึทืจื’ืœื™ื™ึทื›ืŸ ื“ื™ ืื•ืชื™ื•ืช ื–ื™ืš, ืื•ืŸ ื ื™ืฉื˜ ืคืึทืœ ืึธื“ืขืจ ืขืคึผืขืก ืึทื ื“ืขืจืฉ.

ื“ื™ ืจื’ืข ืฉืจื™ื˜ ืื™ื– ืฆื• ืคืึทืจืงืขืจื˜ ื“ื™ ืฉื•ืจื”. ื“ืึธืก ืื™ื– ื ื™ืฉื˜ ืฉื•ื•ืขืจ ืฆื• ื˜ืึธืŸ: ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื’ืขืจ ืขืก ืื™ืŸ ืึท ืžืขื ื’ืข ืžื™ื˜ ื“ื™ .ืกืคึผืœื™ื˜ () ืื•ืคึฟืŸ (ืกื˜ืจื™ื ื’ ื‘ื™ื‘ืœื™ืึธื˜ืขืง). ื“ืขืจื ืึธืš ืžื™ืจ ืคืึทืจืงืขืจื˜ ื“ื™ ืžืขื ื’ืข ื ื™ืฆืŸ .ืจืขื•ื•ืขืจืก () (Array ื‘ื™ื‘ืœื™ืึธื˜ืขืง). ื“ื™ ืœืขืฆื˜ืข ืฉืจื™ื˜ ืื™ื– ืฆื• ื‘ื™ื™ึทื˜ืŸ ื“ื™ ืคืึทืจืงืขืจื˜ ืžืขื ื’ืข ืฆื• ืึท ืฉื˜ืจื™ืงืœ ื ื™ืฆืŸ .join() (Array ื‘ื™ื‘ืœื™ืึธื˜ืขืง).

ืื™ืฆื˜ ืึทืœืข ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื˜ืึธืŸ ืื™ื– ืคืึทืจื’ืœื™ื™ึทื›ืŸ ื“ื™ "ืคืึทืจืงืขืจื˜" ืฉื˜ืจื™ืงืœ ืžื™ื˜ ื“ืขืจ ืึธืจื™ื’ื™ื ืขืœ ืฉื˜ืจื™ืงืœ, ืื•ืŸ ืฆื•ืจื™ืงืงื•ืžืขืŸ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ ืืžืช ืึธื“ืขืจ ืคืึทืœืฉ.

FizzBuzz

ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืžืขืจืกื˜ ืคืึธืœืงืก ื˜ืึทืกืงืก ืื™ืŸ ื™ื ื˜ืขืจื•ื•ื™ื•ื–.

ืกื˜ืึทื’ื™ื ื’

ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืฉืจื™ื™ึทื‘ืŸ ืึท ืคึฟื•ื ืงืฆื™ืข ื•ื•ืึธืก ืคึผืจื™ื ืฅ ื ื•ืžืขืจืŸ ืคื•ืŸ 1 ืฆื• n ืฆื• ื“ื™ ืงืึทื ืกืึธื•ืœ, ื•ื•ื• n ืื™ื– ืึท ื’ืึทื ืฅ ื ื•ืžืขืจ ื•ื•ืึธืก ื“ื™ ืคึฟื•ื ืงืฆื™ืข ื ืขืžื˜ ื•ื•ื™ ืึท ืคึผืึทืจืึทืžืขื˜ืขืจ, ืžื™ื˜ ื“ื™ ืคืืœื’ืขื ื“ืข ื˜ื ืึธื™ื:

  • ืจืขื–ื•ืœื˜ืึทื˜ ืคื™ื– ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืžืึทืœื˜ืึทืคึผืึทืœื– ืคื•ืŸ 3;
  • ืจืขื–ื•ืœื˜ืึทื˜ ื–ืฉื•ืžืขืŸ ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ื ื•ืžืขืจืŸ ื•ื•ืึธืก ื–ืขื ืขืŸ ืžืึทืœื˜ืึทืคึผืึทืœื– ืคื•ืŸ 5;
  • ืคื™ื–ื‘ื•ื–ื– ืจืขื–ื•ืœื˜ืึทื˜ ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ื ื•ืžืขืจืŸ ื•ื•ืึธืก ื–ืขื ืขืŸ ืžืึทืœื˜ืึทืคึผืึทืœื– ืคื•ืŸ ื‘ื™ื™ื“ืข 3 ืื•ืŸ 5.

ื‘ื™ื™ึทืฉืคึผื™ืœ

ืคื™ื–ื‘ื•ื–ื–(5)

ื˜ืึทื›ืœืขืก

// 1
// 2
// ืคื™ื–
// 4
// ื–ืฉื•ืžืขืŸ

ื–ืืœ ืก ืคื•ื ืึทื ื“ืขืจืงืœื™ื™ึทื‘ืŸ ื“ื™ ืึทืจื‘ืขื˜

ื“ื™ ื”ื•ื™ืคึผื˜ ื–ืึทืš ื“ืึธ ืื™ื– ืึท ื•ื•ืขื’ ืฆื• ื’ืขืคึฟื™ื ืขืŸ ืžืึทืœื˜ืึทืคึผืึทืœื– ื ื™ืฆืŸ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜. ืขืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื™ืžืคึผืœืึทืžืขื ืึทื“ ื ื™ืฆืŸ ื“ื™ ืžืึธื“ื•ืœื•ืก ืึธืคึผืขืจืึทื˜ืึธืจ ืึธื“ืขืจ ื“ื™ ืจืขืฉื˜ -%, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื•ื•ื™ื™ึทื–ืŸ ื“ื™ ืจืขืฉื˜ ื•ื•ืขืŸ ื“ื™ื•ื•ื™ื™ื“ื™ื ื’ ืฆื•ื•ื™ื™ ื ื•ืžืขืจืŸ. ืื•ื™ื‘ ื“ื™ ืจืขืฉื˜ ืื™ื– 0, ืขืก ืžื™ื˜ืœ ืึทื– ื“ืขืจ ืขืจืฉื˜ืขืจ ื ื•ืžืขืจ ืื™ื– ืึท ืงื™ื™ืคืœ ืคื•ืŸ ื“ื™ ืจื’ืข.

12% 5 // 2 -> 12 ืื™ื– ื ื™ืฉื˜ ืึท ืงื™ื™ืคืœ ืคื•ืŸ 5
12% 3 // 0 -> 12 ืื™ื– ืงื™ื™ืคืœ ืคื•ืŸ 3

ืึทื–ื•ื™, ืื•ื™ื‘ ืื™ืจ ื˜ื™ื™ืœืŸ 12 ื“ื•ืจืš 5, ืื™ืจ ื‘ืึทืงื•ืžืขืŸ 2 ืžื™ื˜ ืึท ืจืขืฉื˜ ืคื•ืŸ 2. ืื•ื™ื‘ ืื™ืจ ื˜ื™ื™ืœืŸ 12 ื“ื•ืจืš 3, ืื™ืจ ื‘ืึทืงื•ืžืขืŸ 4 ืžื™ื˜ ืึท ืจืขืฉื˜ ืคื•ืŸ 0. ืื™ืŸ ื“ืขืจ ืขืจืฉื˜ืขืจ ืคืึทืœ, 12 ืื™ื– ื ื™ืฉื˜ ืึท ืงื™ื™ืคืœ ืคื•ืŸ 5, ืื™ืŸ ื“ื™ ืจื’ืข , 12 ืื™ื– ืึท ืงื™ื™ืคืœ ืคื•ืŸ 3.

ื‘ืึทืฉื™ื™ื“

ื“ื™ ืึธืคึผื˜ื™ืžืึทืœ ืœื™ื™ื–ื•ื ื’ ื•ื•ืึธืœื˜ ื–ื™ื™ืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ืงืึธื“:

const fizzBuzz = num => {
  for(let i = 1; i <= num; i++) {
    // check if the number is a multiple of 3 and 5
    if(i % 3 === 0 && i % 5 === 0) {
      console.log('fizzbuzz')
    } // check if the number is a multiple of 3
      else if(i % 3 === 0) {
      console.log('fizz')
    } // check if the number is a multiple of 5
      else if(i % 5 === 0) {
      console.log('buzz')
    } else {
      console.log(i)
    }
  }
}

ื“ื™ ืคึฟื•ื ืงืฆื™ืข ืคึผืขืจืคืึธืจืžื– ื“ื™ ื ื•ื™ื˜ื™ืง ื˜ืฉืขืงืก ื ื™ืฆืŸ ืงืึทื ื“ื™ืฉืึทื ืึทืœ ืกื˜ื™ื™ื˜ืžืึทื ืฅ ืื•ืŸ ืคึผืจืึธื“ื•ืฆื™ืจืŸ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ ืคืืจืœืื ื’ื˜ ื“ื•ืจืš ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ. ืื™ืŸ ื“ืขื ืคึผืจืึธื‘ืœืขื, ืขืก ืื™ื– ื•ื•ืขืจื˜ ืฆื• ื‘ืึทืฆืึธืœืŸ ื•ืคืžืขืจืงื–ืึทืžืงื™ื™ื˜ ืฆื• ื“ื™ ืกื“ืจ ืคื•ืŸ ื“ื™ ืื•ื™ื‘ ... ืึทื ื“ืขืจืฉ ืกื˜ื™ื™ื˜ืžืึทื ืฅ: ืึธื ื”ื™ื™ื‘ ืžื™ื˜ ืึท ื˜ืึธืคึผืœ ืฆื•ืฉื˜ืึทื ื“ (&&) ืื•ืŸ ืกื•ืฃ ืžื™ื˜ ื“ืขื ืคืึทืœ ื•ื•ื• ืงื™ื™ืคืœ ื ื•ืžืขืจืŸ ืงืขืŸ ื ื™ื˜ ื–ื™ื™ืŸ ื’ืขืคึฟื•ื ืขืŸ. ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜, ืžื™ืจ ื“ืขืงืŸ ืึทืœืข ืึธืคึผืฆื™ืขืก.

ืึทื ืึทื’ืจืึทื

ื“ืึธืก ืื™ื– ื“ืขืจ ื ืึธืžืขืŸ ืคึฟืึทืจ ืึท ื•ื•ืึธืจื˜ ื•ื•ืึธืก ื›ึผื•ืœืœ ืึทืœืข ื“ื™ ืื•ืชื™ื•ืช ืคื•ืŸ ืืŸ ืื ื“ืขืจ ื•ื•ืึธืจื˜ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ื ื•ืžืขืจ, ืึธื‘ืขืจ ืื™ืŸ ืึท ืึทื ื“ืขืจืฉ ืกื“ืจ.

ืกื˜ืึทื’ื™ื ื’

ืžื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืฉืจื™ื™ึทื‘ืŸ ืึท ืคึฟื•ื ืงืฆื™ืข ื•ื•ืึธืก ื˜ืฉืขืงืก ืฆื™ ืฆื•ื•ื™ื™ ืกื˜ืจื™ื ื’ืก ื–ืขื ืขืŸ ืึทื ืึทื’ืจืึทืžื–, ืื•ืŸ ื“ืขืจ ืคืึทืœ ื˜ื•ื˜ ื ื™ืฉื˜ ืขื ื™ืŸ. ื‘ืœื•ื™ื– ืื•ืชื™ื•ืช ื–ืขื ืขืŸ ื’ืขืจืขื›ื ื˜; ืกืคึผื™ื™ืกืึทื– ืึธื“ืขืจ ืคึผื•ื ืงื˜ื•ืึทืฆื™ืข ืžืึทืจืงืก ื–ืขื ืขืŸ ื ื™ืฉื˜ ื’ืขื ื•ืžืขืŸ ืื™ืŸ ื—ืฉื‘ื•ืŸ.

anagram ('finder', 'ืคืจื™ื™ื ื˜') -> ืืžืช
anagram ('ื”ืขืœื', 'ื‘ื™ื™') -> ืคืึทืœืฉ

ื–ืืœ ืก ืคื•ื ืึทื ื“ืขืจืงืœื™ื™ึทื‘ืŸ ื“ื™ ืึทืจื‘ืขื˜

ื“ื™ ื•ื•ื™ื›ื˜ื™ืง ื–ืึทืš ืฆื• ื‘ืึทื˜ืจืึทื›ื˜ืŸ ื“ืึธ ืื™ื– ืึทื– ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื™ืขื“ืขืจ ื‘ืจื™ื•ื• ืื™ืŸ ื“ื™ ืฆื•ื•ื™ื™ ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ืฉื•ืจื•ืช ืื•ืŸ ื–ื™ื™ืขืจ ื ื•ืžืขืจ ืื™ืŸ ื™ืขื“ืขืจ ืฉื•ืจื”.

Finder โ€”> F: 1 ืคืจื™ื™ึทื ื“ โ€”> F: 1
ืื™ืš: 1 ืจ: 1
n: 1 ืื™ืš: 1
ื“: 1 E: 1
E: 1 ืŸ: 1
ืจ: 1 ื“: 1

ืฆื• ืงืจืึธื ืึทื ืึทื’ืจืึทื ื“ืึทื˜ืŸ, ืื™ืจ ื–ืึธืœ ืงืœื™ื™ึทื‘ืŸ ืึท ืกื˜ืจื•ืงื˜ื•ืจ ืึทื–ืึท ื•ื•ื™ ืึท ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ื›ื™ื™ืคืขืฅ ืœื™ื˜ืขืจืึทืœ. ื“ืขืจ ืฉืœื™ืกืœ ืื™ืŸ ื“ืขื ืคืึทืœ ืื™ื– ื“ื™ ื›ืึทืจืึทืงื˜ืขืจ ืคื•ืŸ ื“ื™ ื‘ืจื™ื•ื•, ื“ื™ ื•ื•ืขืจื˜ ืื™ื– ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ื–ื™ื™ึทืŸ ืจืขืคึผืึทื˜ื™ืฉืึทื ื– ืื™ืŸ ื“ื™ ืงืจืึทื ื˜ ืฉื•ืจื”.

ืขืก ื–ืขื ืขืŸ ืื ื“ืขืจืข ื‘ืื“ื™ื ื’ื•ื ื’ืขืŸ:

  • ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืžืึทื›ืŸ ื–ื™ื›ืขืจ ืึทื– ื“ื™ ืคืึทืœ ืคื•ืŸ ืื•ืชื™ื•ืช ืื™ื– ื ื™ืฉื˜ ื’ืขื ื•ืžืขืŸ ืื™ืŸ ื—ืฉื‘ื•ืŸ ื•ื•ืขืŸ ืงืึทืžืคึผืขืจื™ื ื’. ืžื™ืจ ืคืฉื•ื˜ ื’ืขืจ ื‘ื™ื™ื“ืข ืกื˜ืจื™ื ื’ืก ืฆื• ื ื™ื“ืขืจื™ืงืขืจ ืึธื“ืขืจ ืื•ื™ื‘ืขืจืฉื˜ืขืจ ืคืึทืœ.
  • ืžื™ืจ ื•ื™ืกืฉืœื™ืกืŸ ืึทืœืข ื ื™ื˜-ื›ืึทืจืึทืงื˜ืขืจื– ืคื•ืŸ ื“ื™ ืคืึทืจื’ืœื™ื™ึทืš. ื‘ืขืกื˜ืขืจ ืฆื• ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ ืจืขื’ื•ืœืขืจ ืื•ื™ืกื“ืจื•ืงืŸ.

ื‘ืึทืฉื™ื™ื“

// helper function that builds the
// object to store the data
const buildCharObject = str => {
  const charObj = {}
  for(let char of str.replace(/[^w]/g).toLowerCase()) {
    // if the object has already a key value pair
    // equal to the value being looped over,
    // increase the value by 1, otherwise add
    // the letter being looped over as key and 1 as its value
    charObj[char] = charObj[char] + 1 || 1
  }
  return charObj
}
 
// main function
const anagram = (strA, strB) => {
  // build the object that holds strA data
  const aCharObject = buildCharObject(strA)
  // build the object that holds strB data
  const bCharObject = buildCharObject(strB)
 
  // compare number of keys in the two objects
  // (anagrams must have the same number of letters)
  if(Object.keys(aCharObject).length !== Object.keys(bCharObject).length) {
    return false
  }
  // if both objects have the same number of keys
  // we can be sure that at least both strings
  // have the same number of characters
  // now we can compare the two objects to see if both
  // have the same letters in the same amount
  for(let char in aCharObject) {
    if(aCharObject[char] !== bCharObject[char]) {
      return false
    }
  }
  // if both the above checks succeed,
  // you have an anagram: return true
  return true
}

ื‘ืึทืฆืึธืœืŸ ื•ืคืžืขืจืงื–ืึทืžืงื™ื™ึทื˜ ืฆื• ื“ื™ ื ื•ืฆืŸ Object.keys() ืื™ืŸ ื“ื™ ืกื ื™ืคึผืึทื˜ ืื•ื™ื‘ืŸ. ื“ืขืจ ืื•ืคึฟืŸ ืงืขืจื˜ ืึท ืžืขื ื’ืข ืžื™ื˜ ื ืขืžืขืŸ ืึธื“ืขืจ ืฉืœื™ืกืœืขืŸ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืกื“ืจ ืึทื– ื–ื™ื™ ื“ืขืจืฉื™ื™ึทื ืขืŸ ืื™ืŸ ื“ื™ ื›ื™ื™ืคืขืฅ. ืื™ืŸ ื“ืขื ืคืึทืœ, ื“ื™ ืžืขื ื’ืข ื•ื•ืขื˜ ื–ื™ื™ืŸ ื•ื•ื™ ื“ืึธืก:

['f', 'ืื™ืš', 'n', 'ื“', 'E', 'r']

ื“ืขื ื•ื•ืขื’ ืžื™ืจ ื‘ืึทืงื•ืžืขืŸ ื“ื™ ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ืคื•ืŸ ื“ื™ ื›ื™ื™ืคืขืฅ ืึธืŸ ื”ืึธื‘ืŸ ืฆื• ื˜ืึธืŸ ืึท ืคืึทืจื ืขื ืฉืœื™ื™ืฃ. ืื™ืŸ ืึท ืคึผืจืึธื‘ืœืขื, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ื“ืขื ืื•ืคึฟืŸ ืžื™ื˜ ื“ื™ .ืœืขื ื’ื˜ ืคืึทืจืžืึธื’ ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืฆื™ ื‘ื™ื™ื“ืข ืกื˜ืจื™ื ื’ืก ื”ืึธื‘ืŸ ื“ื™ ื–ืขืœื‘ืข ื ื•ืžืขืจ ืคื•ืŸ ืื•ืชื™ื•ืช - ื“ืึธืก ืื™ื– ืึท ื•ื•ื™ื›ื˜ื™ืง ืฉื˜ืจื™ืš ืคื•ืŸ ืึทื ืึทื’ืจืึทืžื–.

ื–ื•ื›ืŸ ืคึฟืึทืจ ื•ื•ืึทื•ืœื–

ื ื’ืึทื ืฅ ืคึผืฉื•ื˜ ืึทืจื‘ืขื˜ ื•ื•ืึธืก ืึธืคื˜ ืงื•ืžื˜ ืื™ืŸ ื™ื ื˜ืขืจื•ื•ื™ื•ื–.

ืกื˜ืึทื’ื™ื ื’

ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืฉืจื™ื™ึทื‘ืŸ ืึท ืคึฟื•ื ืงืฆื™ืข ื•ื•ืึธืก ื ืขืžื˜ ืึท ืฉื˜ืจื™ืงืœ ื•ื•ื™ ืึทืŸ ืึทืจื’ื•ืžืขื ื˜ ืื•ืŸ ืงืขืจื˜ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ื•ื•ืึทื•ืœื– ื•ื•ืึธืก ื–ืขื ืขืŸ ืงืึทื ื˜ื™ื™ื ื“ ืื™ืŸ ื“ื™ ืฉื˜ืจื™ืงืœ.
ื“ื™ ื•ื•ืึทื•ืึทืœื– ื–ืขื ืขืŸ "ืึท", "E", "ืื™ืš", "ืึธ", "ื•".

ื‘ื™ื™ึทืฉืคึผื™ืœ:

findVowels('ื”ืขืœื') // โ€”> 2
findVowels('ื•ื•ืึธืก') // โ€”> 0

ื‘ืึทืฉื™ื™ื“

ื“ืึธ ืื™ื– ื“ื™ ืกื™ืžืคึผืœืึทืกื˜ ืึธืคึผืฆื™ืข:

const findVowels = str => {
  let count = 0
  const vowels = ['a', 'e', 'i', 'o', 'u']
  for(let char of str.toLowerCase()) {
    if(vowels.includes(char)) {
      count++
    }
  }
  return count
}

ืขืก ืื™ื– ื•ื•ื™ื›ื˜ื™ืง ืฆื• ื‘ืึทืฆืึธืœืŸ ื•ืคืžืขืจืงื–ืึทืžืงื™ื™ื˜ ืฆื• ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ื“ื™ .includes() ืื•ืคึฟืŸ. ืขืก ืื™ื– ื‘ื ื™ืžืฆื ืคึฟืึทืจ ื‘ื™ื™ื“ืข ืกื˜ืจื™ื ื’ืก ืื•ืŸ ืขืจื™ื™ื–. ืขืก ื–ืึธืœ ื–ื™ื™ืŸ ื’ืขื ื™ืฆื˜ ืฆื• ื‘ืึทืฉืœื™ืกืŸ ืฆื™ ืึท ืžืขื ื’ืข ื›ึผื•ืœืœ ืึท ื–ื™ื›ืขืจ ื•ื•ืขืจื˜. ื“ืขืจ ืื•ืคึฟืŸ ืงืขืจื˜ ืืžืช ืื•ื™ื‘ ื“ื™ ืžืขื ื’ืข ื›ึผื•ืœืœ ื“ื™ ืกืคึผืขืกื™ืคื™ืขื“ ื•ื•ืขืจื˜, ืื•ืŸ ืคืึทืœืฉ ืื•ื™ื‘ ื ื™ืฉื˜.

ืขืก ืื™ื– ืึท ืงื™ืจืฆืขืจ ืœื™ื™ื–ื•ื ื’ ืฆื• ื“ืขื ืคึผืจืึธื‘ืœืขื:

const findVowels = str => {
  const matched = str.match(/[aeiou]/gi)
  return matched ? matches.length : 0
}

ื“ืึธืก ื ื™ืฆื˜ ื“ืขื .ืžืึทื˜ื˜ืฉ () ืื•ืคึฟืŸ, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื™ื ืกื˜ืจื•ืžืขื ื˜ ืึทืŸ ืขืคืขืงื˜ื™ื•ื• ื–ื•ื›ืŸ. ืื•ื™ื‘ ืึท ืจืขื’ื•ืœืขืจ ืื•ื™ืกื“ืจื•ืง ื•ื•ื™ ืึท ืื•ืคึฟืŸ ืึทืจื’ื•ืžืขื ื˜ ืื™ื– ื’ืขืคึฟื•ื ืขืŸ ืื™ืŸ ื“ื™ ืกืคึผืขืกื™ืคื™ืขื“ ืฉื˜ืจื™ืงืœ, ื“ืขืจ ืฆื•ืจื™ืงืงืขืจ ื•ื•ืขืจื˜ ืื™ื– ืึท ืžืขื ื’ืข ืคื•ืŸ โ€‹โ€‹ื•ื•ืึธืก ืจื™ื›ื˜ืŸ ืื•ืชื™ื•ืช. ื ื•, ืื•ื™ื‘ ืขืก ื–ืขื ืขืŸ ืงื™ื™ืŸ ืฉื•ื•ืขื‘ืขืœืขืš, ื“ืขืžืึธืœื˜ .ืžืึทื˜ื˜ืฉ () ืงืขืจื˜ ื ืึทืœ.

fibonacci

ื ืงืœืึทืกื™ืฉ ืึทืจื‘ืขื˜ ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืคึฟื•ื ืขืŸ ืื™ืŸ ื™ื ื˜ืขืจื•ื•ื™ื•ื– ืื™ืŸ ืคืึทืจืฉื™ื“ืŸ ืœืขื•ื•ืขืœืก. ืขืก ืื™ื– ื•ื•ืขืจื˜ ืจื™ืงืึธืœื™ื ื’ ืึทื– ื“ื™ Fibonacci ืกื™ืงื•ื•ืึทื ืก ืื™ื– ืึท ืกืขืจื™ืข ืคื•ืŸ โ€‹โ€‹ื ื•ืžืขืจืŸ ื•ื•ื• ื™ืขื“ืขืจ ืกืึทื‘ืกืึทืงื•ื•ืึทื ื˜ ืื™ื™ื ืขืจ ืื™ื– ื“ื™ ืกืึทื›ืึทืงืœ ืคื•ืŸ ื“ื™ ืคืจื™ืขืจื“ื™ืงืข ืฆื•ื•ื™ื™. ืึทื–ื•ื™, ื“ืขืจ ืขืจืฉื˜ืขืจ ืฆืขืŸ ื ื•ืžืขืจืŸ ืงื•ืงืŸ ื•ื•ื™ ื“ืึธืก: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34.

ืกื˜ืึทื’ื™ื ื’

ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืฉืจื™ื™ึทื‘ืŸ ืึท ืคึฟื•ื ืงืฆื™ืข ื•ื•ืึธืก ืงืขืจื˜ ื“ื™ n-ื˜ืข ืจืขืงืึธืจื“ ืื™ืŸ ืึท ื–ื™ื›ืขืจ ืกื™ืงื•ื•ืึทื ืก, ืžื™ื˜ n ืื™ื– ื“ืขืจ ื ื•ืžืขืจ ื•ื•ืึธืก ืื™ื– ื“ื•ืจื›ื’ืขื’ืื ื’ืขืŸ ื•ื•ื™ ืึทืŸ ืึทืจื’ื•ืžืขื ื˜ ืฆื• ื“ื™ ืคึฟื•ื ืงืฆื™ืข.

fibonacci(3) // โ€”> 2

ื“ืขื ืึทืจื‘ืขื˜ ื™ื ื•ื•ืึทืœื•ื•ื– ื’ื™ื™ืŸ ื“ื•ืจืš ืึท ืฉืœื™ื™ืฃ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืžืืœ ืกืคึผืขืกื™ืคื™ืขื“ ืื™ืŸ ื“ื™ ืึทืจื’ื•ืžืขื ื˜, ืฆื•ืจื™ืงืงื•ืžืขืŸ ื“ื™ ื•ื•ืขืจื˜ ืื™ืŸ ื“ื™ ืฆื•ื ืขืžืขืŸ ืฉื˜ืขืœืข. ื“ืขื ื•ื•ืขื’ ืคื•ืŸ ืคึผืึธื•ื–ื™ื ื’ ื“ื™ ืคึผืจืึธื‘ืœืขื ืจื™ืงื•ื•ื™ื™ืขืจื– ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืœื•ืคึผืก. ืื•ื™ื‘ ืื™ืจ ื ื•ืฆืŸ ืจืขืงื•ืจืกื™ืึธืŸ ืึทื ืฉื˜ืึธื˜, ืขืก ืงืขืŸ ื‘ื™ื˜ืข ื“ื™ ื™ื ื˜ืขืจื•ื•ื™ื•ื–ืขืจ ืื•ืŸ ื’ืขื‘ืŸ ืื™ืจ ืึท ื‘ื™ืกืœ ืขืงืกื˜ืจืข ืคื•ื ืงื˜ืŸ.

ื‘ืึทืฉื™ื™ื“

const fibonacci = num => {
  // store the Fibonacci sequence you're going
  // to generate inside an array and
  // initialize the array with the first two
  // numbers of the sequence
  const result = [0, 1]
 
  for(let i = 2; i <= num; i++) {
    // push the sum of the two numbers
    // preceding the position of i in the result array
    // at the end of the result array
    const prevNum1 = result[i - 1]
    const prevNum2 = result[i - 2]
    result.push(prevNum1 + prevNum2)
  }
  // return the last value in the result array
  return result[num]
}

ืื™ืŸ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ืžืขื ื’ืข, ื“ื™ ืขืจืฉื˜ืขืจ ืฆื•ื•ื™ื™ ื ื•ืžืขืจืŸ ื–ืขื ืขืŸ ืงืึทื ื˜ื™ื™ื ื“ ืื™ืŸ ื“ื™ ืกืขืจื™ืข ื•ื•ื™ื™ึทืœ ื™ืขื“ืขืจ ืคึผืึธื–ื™ืฆื™ืข ืื™ืŸ ื“ื™ ืกื™ืงื•ื•ืึทื ืก ืื™ื– ื“ื™ ืกืึทื›ืึทืงืœ ืคื•ืŸ ื“ื™ ืคืจื™ืขืจื“ื™ืงืข ืฆื•ื•ื™ื™ ื ื•ืžืขืจืŸ. ืื™ืŸ ื“ื™ ืึธื ื”ื™ื™ื‘ ืขืก ื–ืขื ืขืŸ ืงื™ื™ืŸ ืฆื•ื•ื™ื™ ื ื•ืžืขืจืŸ ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื ื•ืžืขืŸ ืฆื• ื‘ืึทืงื•ืžืขืŸ ื“ื™ ื•ื•ื™ื™ึทื˜ืขืจ ื ื•ืžืขืจ, ืึทื–ื•ื™ ื“ื™ ืฉืœื™ื™ืฃ ืงืขื ืขืŸ ื ื™ืฉื˜ ื“ื–ืฉืขื ืขืจื™ื™ื˜ ื–ื™ื™ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ. ืึธื‘ืขืจ, ื•ื•ื™ ืžื™ืจ ื•ื•ื™ืกืŸ, ื“ื™ ืขืจืฉื˜ืขืจ ืฆื•ื•ื™ื™ ื ื•ืžืขืจืŸ ื–ืขื ืขืŸ ืฉื˜ืขื ื“ื™ืง 0 ืื•ืŸ 1. ื“ืขืจื™ื‘ืขืจ, ืื™ืจ ืงืขื ืขืŸ ื™ื ื™ืฉืึทืœื™ื™ื– ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ืžืขื ื’ืข ืžืึทื ื™ื•ืึทืœื™.

ื•ื•ื™ ืคึฟืึทืจ ืจืขืงื•ืจืกื™ืึธืŸ, ืึทืœืฅ ืื™ื– ืกื™ืžืคึผืœืขืจ ืื•ืŸ ืžืขืจ ืงืึธืžืคึผืœื™ืฆื™ืจื˜ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜:

const fibonacci = num => {
  // if num is either 0 or 1 return num
  if(num < 2) {
    return num
  }
  // recursion here
  return fibonacci(num - 1) + fibonacci(num - 2)
}

ืžื™ืจ ื”ืึทืœื˜ืŸ ืคืึทืš Fibonacci (), ืคืึธืจืŸ ืงืœืขื ืขืจืขืจ ืื•ืŸ ืงืœืขื ืขืจืขืจ ื ื•ืžืขืจืŸ ื•ื•ื™ ืึทืจื’ื•ืžืขื ื˜ืŸ. ืžื™ืจ ื”ืึทืœื˜ืŸ ื•ื•ืขืŸ ื“ื™ ื“ื•ืจื›ื’ืขื’ืื ื’ืขืŸ ืึทืจื’ื•ืžืขื ื˜ ืื™ื– 0 ืึธื“ืขืจ 1.

ืจืขื–ื•ืœื˜ืึทื˜

ืจื•ื‘ึฟ ืžืกืชึผืžื, ืื™ืจ ื”ืึธื˜ ืฉื•ื™ืŸ ื’ืขืคึผืœืึธื ื˜ืขืจื˜ ืงื™ื™ืŸ ืคื•ืŸ ื“ื™ ื˜ืึทืกืงืก ืื•ื™ื‘ ืื™ืจ ื”ืึธื˜ ืฉื•ื™ืŸ ื™ื ื˜ืขืจื•ื•ื™ื•ื“ ืคึฟืึทืจ ืึท ืคืจืึธื ื˜ืขื ื“ ืึธื“ืขืจ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ื“ืขื•ื•ืขืœืึธืคึผืขืจ ืึทืจื‘ืขื˜ (ืกืคึผืขืฆื™ืขืœ ืื•ื™ื‘ ืขืก ืื™ื– ืื™ืŸ ื“ื™ ื™ื™ื ื’ืขืจ ืžื“ืจื’ื”). ืึธื‘ืขืจ ืื•ื™ื‘ ืื™ืจ ื”ืึธื˜ ื ื™ืฉื˜ ื’ืขืคึฟื•ื ืขืŸ ื–ื™ื™, ื–ื™ื™ ืงืขืŸ ื–ื™ื™ืŸ ื ื•ืฆื™ืง ืื™ืŸ ื“ืขืจ ืฆื•ืงื•ื ืคึฟื˜ - ืื™ืŸ ืžื™ื ื“ืกื˜ืขืจ ืคึฟืึทืจ ืึทืœื’ืขืžื™ื™ืŸ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’.

Skillbox ืจืขืงืึทืžืขื ื“ื–:

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’