5 เชฒเชพเช•เซเชทเชฃเชฟเช• JavaScript เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เช•เชพเชฐเซเชฏเซ‹: เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช…เชจเซ‡ เช‰เช•เซ‡เชฒเซ‹

5 เชฒเชพเช•เซเชทเชฃเชฟเช• JavaScript เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เช•เชพเชฐเซเชฏเซ‹: เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช…เชจเซ‡ เช‰เช•เซ‡เชฒเซ‹

เช…เชจเซเชตเชพเชฆเช• เชคเชฐเชซเชฅเซ€: เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชเช• เชฒเซ‡เช– เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเซเชฏเซ‹ เชฎเชพเชฐเชฟเชฏเชพ เชเชจเซเชŸเซ‹เชจเซ€เชเชŸเชพ เชชเซ‡เชฐเซเชจเชพ, เชœเซ‡ เชธเชพเชฎเชพเชจเซเชฏ JavaScript เช•เชพเชฐเซเชฏเซ‹ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ‡ เช›เซ‡, เชฎเซ‹เชŸเชพเชญเชพเช—เซ‡ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพ เช…เชฐเชœเชฆเชพเชฐเซ‹เชจเซ‡ เช“เชซเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชฒเซ‡เช– เช‰เชชเชฏเซ‹เช—เซ€ เชฅเชถเซ‡, เชธเซŒ เชชเซเชฐเชฅเชฎ, เชถเชฟเช–เชพเช‰ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฐเซ‹ เชฎเชพเชŸเซ‡.

เชŸเซ‡เช• เช•เช‚เชชเชจเซ€เช“เชจเชพ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏเชฅเซ€ เชŸเซ‹เช• เช“เชซ เชง เชŸเชพเช‰เชจ เชฐเชนเซเชฏเชพ เช›เซ‡. เช† เช†เชถเซเชšเชฐเซเชฏเชœเชจเช• เชจ เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช - เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชชเชพเชธ เช•เชฐเชตเชพเชฅเซ€ เชคเชฎเชจเซ‡ เชธเชพเชฐเซ€ เชจเซ‹เช•เชฐเซ€ เชฎเซ‡เชณเชตเชตเชพเชจเซ€ เชคเช• เชฎเชณเซ‡ เช›เซ‡. เชชเชฐเช‚เชคเซ เช† เชเชŸเชฒเซเช‚ เชธเชฐเชณ เชจเชฅเซ€, เช•เชพเชฐเชฃ เช•เซ‡ เชœเชŸเชฟเชฒ เชธเชฎเชธเซเชฏเชพเช“เชจเซ‡ เชตเชพเชฐเช‚เชตเชพเชฐ เชนเชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เชคเชฆเซเชชเชฐเชพเช‚เชค, เชฎเซ‹เชŸเซ‡เชญเชพเช—เซ‡, เช†เชฎเชพเช‚เชจเชพ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ เช•เชพเชฐเซเชฏเซ‹ เช…เชฐเชœเชฆเชพเชฐ เชœเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเชถเซ‡ เชคเซ‡เชจเชพเชฅเซ€ เชธเช‚เชฌเช‚เชงเชฟเชค เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชคเซ‡เชฎเชจเซ‡ เชนเชœเซ€ เชชเชฃ เชนเชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ เชคเชฎเชพเชฐเซ‡ Google เช…เชฅเชตเชพ เช…เชจเซเชฏ เช•เซ‹เชˆ เชธเซเชคเซเชฐเซ‹เชค เชธเชพเชฅเซ‡ เชคเชชเชพเชธ เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ, เชฌเซ‹เชฐเซเชก เชชเชฐ เช•เชฐเชตเซเช‚ เชชเชกเชถเซ‡. เชนเชพ, เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟ เชงเซ€เชฎเซ‡ เชงเซ€เชฎเซ‡ เชฌเชฆเชฒเชพเชˆ เชฐเชนเซ€ เช›เซ‡, เช…เชจเซ‡ เช•เซ‡เชŸเชฒเซ€เช• เช•เช‚เชชเชจเซ€เช“ เช†เชตเชพ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เช›เซ‹เชกเซ€ เชฐเชนเซ€ เช›เซ‡, เชชเชฐเช‚เชคเซ เช˜เชฃเชพ เชจเซ‹เช•เชฐเซ€เชฆเชพเชคเชพเช“ เชนเชœเซ เชชเชฃ เช† เชชเชฐเช‚เชชเชฐเชพเชจเซ‡ เชตเชณเช—เซ€ เชฐเชนเซเชฏเชพ เช›เซ‡. เช† เชฒเซ‡เช– เชธเชพเชฎเชพเชจเซเชฏ JavaScript เช•เชพเชฐเซเชฏเซ‹เชจเชพ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เชฎเชพเชŸเซ‡ เชธเชฎเชฐเซเชชเชฟเชค เช›เซ‡ เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชจเซ‹เช•เชฐเซ€ เชถเซ‹เชงเชจเชพเชฐเชพเช“ เชฎเชพเชŸเซ‡เชจเชพ เช•เชพเชฐเซเชฏเซ‹ เชคเชฐเซ€เช•เซ‡ เชฅเชพเชฏ เช›เซ‡.

เช…เชฎเซ‡ เชฏเชพเชฆ เช•เชฐเชพเชตเซ€เช เช›เซ€เช: Habrเชจเชพ เชคเชฎเชพเชฎ เชตเชพเชšเช•เซ‹ เชฎเชพเชŸเซ‡ - Habr เชชเซเชฐเซ‹เชฎเซ‹ เช•เซ‹เชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เซ‹เชˆเชชเชฃ เชธเซเช•เชฟเชฒเชฌเซ‹เช•เซเชธ เช•เซ‹เชฐเซเชธเชฎเชพเช‚ เชจเซ‹เช‚เชงเชฃเซ€ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ 10 เชฐเซ‚เชฌเชฒ เชกเชฟเชธเซเช•เชพเช‰เชจเซเชŸ.

เชธเซเช•เชฟเชฒเชฌเซ‹เช•เซเชธ เชญเชฒเชพเชฎเชฃ เช•เชฐเซ‡ เช›เซ‡: เชชเซเชฐเซ‡เช•เซเชŸเชฟเช•เชฒ เช•เซ‹เชฐเซเชธ "เชฎเซ‹เชฌเชพเช‡เชฒ เชกเซ‡เชตเชฒเชชเชฐ เชชเซเชฐเซ‹".

เชฎเซเช–เซเชฏ เชตเชธเซเชคเซ เช เช›เซ‡ เช•เซ‡ เชคเชฎเชพเชฐเชพ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชฎเชพเชŸเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชคเซˆเชฏเชพเชฐเซ€ เช•เชฐเชตเซ€.

เชนเชพ, เช…เชฎเซ‡ เช•เชพเชฐเซเชฏเซ‹เชจเซ‡ เชœเซ‹เชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ€เช เชคเซ‡ เชชเชนเซ‡เชฒเชพเช‚, เชšเชพเชฒเซ‹ เช•เซ‡เชŸเชฒเซ€เช• เชธเชพเชฎเชพเชจเซเชฏ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชคเซˆเชฏเชพเชฐเซ€ เชŸเชฟเชชเซเชธ เชœเซ‹เชˆเช.

เชฎเซเช–เซเชฏ เชตเชธเซเชคเซ เช…เช—เชพเช‰เชฅเซ€ เชคเซˆเชฏเชพเชฐ เช•เชฐเชตเชพเชจเซเช‚ เช›เซ‡. เชคเชฎเซ‡ เชเชฒเซเช—เซ‹เชฐเชฟเชงเชฎเซเชธ เช…เชจเซ‡ เชกเซ‡เชŸเชพ เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชธเชจเซ‡ เช•เซ‡เชŸเชฒเซ€ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชฏเชพเชฆ เชฐเชพเช–เซ‹ เช›เซ‹ เชคเซ‡เชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซ‹ เช…เชจเซ‡ เชคเซ‡ เช•เซเชทเซ‡เชคเซเชฐเซ‹เชฎเชพเช‚ เชคเชฎเชพเชฐเชพ เชœเซเชžเชพเชจเชจเซ‡ เชฌเชนเซ‡เชคเชฐ เชฌเชจเชพเชตเซ‹ เช•เซ‡ เชœเซ‡เชจเชพเชฅเซ€ เชคเชฎเซ‡ เช–เซ‚เชฌ เชชเชฐเชฟเชšเชฟเชค เชจเชฅเซ€. เช˜เชฃเชพ เช“เชจเชฒเชพเชˆเชจ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เช›เซ‡ เชœเซ‡ เชคเชฎเชจเซ‡ เชˆเชจเซเชŸเชฐเชตเซเชฏเซ เชฎเชพเชŸเซ‡ เชคเซˆเชฏเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เช…เชฎเซ‡ เชธเชฒเชพเชน เช†เชชเซ€เช เช›เซ€เช geeksforgeeks, เชชเซเชฐเชฎเซเชช, Interviewing.io ะธ เช•เซ‹เชกเชธเชฟเช—เซเชจเชฒ.

เชจเชฟเชฐเซเชฃเชฏเชจเซ‡ เชฎเซ‹เชŸเซ‡เชฅเซ€ เชฌเซ‹เชฒเชตเชพเชจเซเช‚ เชถเซ€เช–เชตเชพ เชฏเซ‹เช—เซเชฏ เช›เซ‡. เชคเชฎเซ‡ เชถเซเช‚ เช•เชฐเซ‹ เช›เซ‹ เชคเซ‡เชจเชพ เชตเชฟเชถเซ‡ เช…เชฐเชœเชฆเชพเชฐเซ‹เชจเซ‡ เชœเชฃเชพเชตเชตเชพเชจเซ€ เชธเชฒเชพเชน เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชจเซ‡ เชฎเชพเชคเซเชฐ เชฌเซ‹เชฐเซเชก เชชเชฐ เชฒเช–เซ‹ เชจเชนเซ€เช‚ (เช…เชฅเชตเชพ เช•เชฎเซเชชเซเชฏเซเชŸเชฐเชฎเชพเช‚ เช•เซ‹เชก เชฒเช–เซ‹, เชถเชพเช‚เชคเชฟเชฅเซ€ เชชเชฃ). เช† เชฐเซ€เชคเซ‡, เชœเซ‹ เชคเชฎเซ‡ เช•เซ‹เชกเชฎเชพเช‚ เชญเซ‚เชฒ เช•เชฐเซ‹ เช›เซ‹, เชชเชฐเช‚เชคเซ เช‰เช•เซ‡เชฒ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชธเชพเชšเซ‹ เชนเซ‹เชฏ, เชคเซ‹ เชคเชฎเซ‡ เชคเชฎเชพเชฐเซ€ เชธเชซเชณเชคเชพเชจเซ€ เชคเช•เซ‹ เชตเชงเชพเชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เชนเชฒ เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ‹ เชคเซ‡ เชชเชนเซ‡เชฒเชพเช‚ เชคเชฎเชพเชฐเซ‡ เชธเชฎเชธเซเชฏเชพเชจเซ‡ เชธเชฎเชœเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช•เซ‡เชŸเชฒเชพเช• เช•เชฟเชธเซเชธเชพเช“เชฎเชพเช‚, เชคเชฎเซ‡ เช•เซ‹เชˆ เช•เชพเชฐเซเชฏเชจเซ‡ เช‰เชชเชฐเช›เชฒเซเชฒเซ€ เชฐเซ€เชคเซ‡ เชธเชฎเชœเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชชเช›เซ€ เช–เซ‹เชŸเชพ เชฎเชพเชฐเซเช—เซ‡ เชœเชˆ เชถเช•เซ‹ เช›เซ‹. เช‡เชจเซเชŸเชฐเชตเซเชฏเซเช…เชฐเชจเซ‡ เชฅเซ‹เชกเชพ เชธเซเชชเชทเซเชŸเชคเชพ เชชเซเชฐเชถเซเชจเซ‹ เชชเซ‚เช›เชตเชพ เชฏเซ‹เช—เซเชฏ เช›เซ‡.

เชคเชฎเชพเชฐเซ‡ เชนเชพเชฅเชฅเซ€ เช•เซ‹เชก เชฒเช–เชตเชพเชจเซ€ เชชเซเชฐเซ‡เช•เซเชŸเชฟเชธ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เชชเซ€เชธเซ€ เชชเชฐ เชจเชนเซ€เช‚. เชเชตเซเช‚ เชฌเชจเซ‡ เช›เซ‡ เช•เซ‡ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชฆเชฐเชฎเชฟเชฏเชพเชจ เช…เชฐเชœเชฆเชพเชฐเชจเซ‡ เชฎเชพเชฐเซเช•เชฐ เช…เชจเซ‡ เชตเซเชนเชพเช‡เชŸเชฌเซ‹เชฐเซเชก เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซเชฏเชพเช‚ เช•เซ‹เชˆ เชธเช‚เช•เซ‡เชคเซ‹ เช…เชฅเชตเชพ เชธเซเชตเชšเชพเชฒเชฟเชค เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฟเช‚เช— เชจเชฅเซ€. เชœเซเชฏเชพเชฐเซ‡ เช•เซ‹เชˆ เช‰เช•เซ‡เชฒ เชถเซ‹เชงเซ€ เชฐเชนเซเชฏเชพ เชนเซ‹เชฏ, เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡ เช•เชพเช—เชณเชจเชพ เชŸเซเช•เชกเชพ เชชเชฐ เช…เชฅเชตเชพ เชธเซ€เชงเชพ เชฌเซ‹เชฐเซเชก เชชเชฐ เชคเชฎเชพเชฐเซ‹ เช•เซ‹เชก เชฒเช–เชตเชพ เชฏเซ‹เช—เซเชฏ เช›เซ‡. เชœเซ‹ เชคเชฎเซ‡ เชฌเชงเซเช‚ เชคเชฎเชพเชฐเชพ เชฎเช—เชœเชฎเชพเช‚ เชฐเชพเช–เซ‹ เช›เซ‹, เชคเซ‹ เชคเชฎเซ‡ เช•เช‚เชˆเช• เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชญเซ‚เชฒเซ€ เชถเช•เซ‹ เช›เซ‹.

JavaScript เชฎเชพเช‚ เชจเชฎเซ‚เชจเชพ เช•เชพเชฐเซเชฏเซ‹

เช†เชฎเชพเช‚เชจเชพ เช•เซ‡เชŸเชฒเชพเช• เช•เชพเชฐเซเชฏเซ‹ เช•เชฆเชพเชš เชคเชฎเชจเซ‡ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชชเชฐเชฟเชšเชฟเชค เช›เซ‡. เชคเชฎเซ‡ เช•เซเชฏเชพเช‚ เชคเซ‹ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชฒเซ€เชงเชพ เช›เซ‡ เชœเซเชฏเชพเช‚ เชคเชฎเชพเชฐเซ‡ เช•เช‚เชˆเช• เช†เชตเซเช‚ เชœ เช‰เช•เซ‡เชฒเชตเซเช‚ เชชเชกเซเชฏเซเช‚ เช›เซ‡, เช…เชฅเชตเชพ JavaScript เชถเซ€เช–เชคเซ€ เชตเช–เชคเซ‡ เชคเซ‡เชจเชพ เชชเชฐ เชชเซเชฐเซ‡เช•เซเชŸเชฟเชธ เช•เชฐเซ€ เช›เซ‡. เช เซ€เช• เช›เซ‡, เชนเชตเซ‡ เชคเซ‡เชฎเชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชนเชฒ เช•เชฐเชตเชพเชจเซ‹ เชธเชฎเชฏ เช›เซ‡, เช…เชจเซ‡ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเชพ เชตเชฟเช—เชคเชตเชพเชฐ เชธเชฎเชœเซ‚เชคเซ€ เชธเชพเชฅเซ‡.

เชชเซ‡เชฒเชฟเชจเซเชกเซเชฐเซ‹เชฎ

เชชเซ‡เชฒเชฟเชจเซเชกเซเชฐเซ‹เชฎ เช เชเช• เชถเชฌเซเชฆ, เชตเชพเช•เซเชฏ เช…เชฅเชตเชพ เช…เช•เซเชทเชฐเซ‹เชจเซ‹ เช•เซเชฐเชฎ เช›เซ‡ เชœเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฆเชฟเชถเชพเชฎเชพเช‚ เช…เชจเซ‡ เชตเชฟเชฐเซเชฆเซเชง เชฆเชฟเชถเชพเชฎเชพเช‚ เชฌเชฐเชพเชฌเชฐ เชธเชฎเชพเชจ เชฐเซ€เชคเซ‡ เชตเชพเช‚เชšเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, "เช…เชจเซเชจเชพ" เช เชชเซ‡เชฒเชฟเชจเซเชกเซเชฐเซ‹เชฎ เช›เซ‡, เชชเชฐเช‚เชคเซ "เชŸเซ‡เชฌเชฒ" เช…เชจเซ‡ "เชœเซเชนเซ‹เชจ" เชจเชฅเซ€.

เชธเซเชŸเซ‡เชœเซ€เช‚เช—

เชเช• เชถเชฌเซเชฆเชฎเชพเชณเชพ เช†เชชเซ‡เชฒ; เชคเชฎเชพเชฐเซ‡ เชเช• เชซเช‚เช•เซเชถเชจ เชฒเช–เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชœเซ‡ เชคเชฎเชจเซ‡ เชœเซ‹ เชถเชฌเซเชฆเชฎเชพเชณเชพ เชชเซ‡เชฒเชฟเชจเซเชกเซเชฐเซ‹เชฎ เชนเซ‹เชฏ เชคเซ‹ เชธเชพเชšเซเช‚ เชชเชฐเชค เช•เชฐเชตเชพ เชฆเซ‡ เช›เซ‡ เช…เชจเซ‡ เชœเซ‹ เชจ เชนเซ‹เชฏ เชคเซ‹ เช–เซ‹เชŸเซเช‚. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชคเชฎเชพเชฐเซ‡ เชœเช—เซเชฏเชพเช“ เช…เชจเซ‡ เชตเชฟเชฐเชพเชฎเชšเชฟเชนเซเชจเซ‹ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เชชเซ‡เชฒเชฟเชจเซเชกเซเชฐเซ‹เชฎ('เชฐเซ‡เชธเช•เชพเชฐ') === เชธเชพเชšเซเช‚
เชชเซ‡เชฒเชฟเชจเซเชกเซเชฐเซ‹เชฎ('เชŸเซ‡เชฌเชฒ') === เช–เซ‹เชŸเซเช‚

เชšเชพเชฒเซ‹ เช•เชพเชฐเซเชฏเชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเซ€เช

เช…เชนเซ€เช‚ เชฎเซเช–เซเชฏ เชตเชฟเชšเชพเชฐ เชถเชฌเซเชฆเชฎเชพเชณเชพเชจเซ‡ เชตเชฟเชชเชฐเซ€เชค เช•เชฐเชตเชพเชจเซ‹ เช›เซ‡. เชœเซ‹ "เชตเชฟเชชเชฐเซ€เชค" เชถเชฌเซเชฆเชฎเชพเชณเชพ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชฎเซ‚เชณ เชธเชฎเชพเชจ เชนเซ‹เชฏ, เชคเซ‹ เช…เชฎเชจเซ‡ เชชเซ‡เชฒเชฟเชจเซเชกเซเชฐเซ‹เชฎ เชชเซเชฐเชพเชชเซเชค เชฅเชฏเซ‹ เช›เซ‡ เช…เชจเซ‡ เช•เชพเชฐเซเชฏ เชธเชพเชšเซเช‚ เช†เชตเชตเซเช‚ เชœเซ‹เชˆเช. เชœเซ‹ เชจเชนเชฟเช‚, เชคเซ‹ เช–เซ‹เชŸเชพ.

เชจเชฟเชฐเซเชฃเชฏ

เช…เชนเซ€เช‚ เชเช• เช•เซ‹เชก เช›เซ‡ เชœเซ‡ เชชเซ‡เชฒเชฟเชจเซเชกเซเชฐเซ‹เชฎเชจเซ‡ เชนเชฒ เช•เชฐเซ‡ เช›เซ‡.

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('')
}

เชชเซเชฐเชฅเชฎ เชชเช—เชฒเซเช‚ เช เช‡เชจเชชเซเชŸ เชธเซเชŸเซเชฐเชฟเช‚เช—เชฎเชพเช‚เชจเชพ เช…เช•เซเชทเชฐเซ‹เชจเซ‡ เชฒเซ‹เช…เชฐ เช•เซ‡เชธเชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชตเชพเชจเซเช‚ เช›เซ‡. เช† เชเช• เช—เซ‡เชฐเช‚เชŸเซ€ เช›เซ‡ เช•เซ‡ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เชชเชพเชคเซเชฐเซ‹เชจเซ€ เชชเซ‹เชคเชพเชจเซ€ เชคเซเชฒเชจเชพ เช•เชฐเชถเซ‡, เช…เชจเซ‡ เช•เซ‡เชธ เช…เชฅเชตเชพ เช…เชจเซเชฏ เช•เช‚เชˆเชชเชฃ เชจเชนเซ€เช‚.

เชฌเซ€เชœเซเช‚ เชชเช—เชฒเซเช‚ เช เชฒเชพเช‡เชจเชจเซ‡ เชตเชฟเชชเชฐเซ€เชค เช•เชฐเชตเชพเชจเซเช‚ เช›เซ‡. เช† เช•เชฐเชตเซเช‚ เชฎเซเชถเซเช•เซ‡เชฒ เชจเชฅเซ€: เชคเชฎเชพเชฐเซ‡ .split() เชชเชฆเซเชงเชคเชฟ (เชธเซเชŸเซเชฐเชฟเช‚เช— เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€) เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชคเซ‡เชจเซ‡ เชเชฐเซ‡เชฎเชพเช‚ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชชเช›เซ€ เช†เชชเชฃเซ‡ .reverse() (Array library) เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชเชฐเซ‡เชจเซ‡ เชฐเชฟเชตเชฐเซเชธ เช•เชฐเซ€เช เช›เซ€เช. เช›เซ‡เชฒเซเชฒเซเช‚ เชชเช—เชฒเซเช‚ .join() (เชเชฐเซ‡ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€) เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชตเชฟเชชเชฐเซ€เชค เชเชฐเซ‡เชจเซ‡ เชธเซเชŸเซเชฐเชฟเช‚เช—เชฎเชพเช‚ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เช•เชฐเชตเชพเชจเซเช‚ เช›เซ‡.

เชนเชตเซ‡ เชคเชฎเชพเชฐเซ‡ เชซเช•เซเชค "เชตเชฟเชชเชฐเซ€เชค" เชธเซเชŸเซเชฐเชฟเช‚เช—เชจเซ‡ เชฎเซ‚เชณ เชธเซเชŸเซเชฐเชฟเช‚เช— เชธเชพเชฅเซ‡ เชธเชฐเช–เชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เชชเชฐเชฟเชฃเชพเชฎ เชธเชพเชšเซเช‚ เช•เซ‡ เช–เซ‹เชŸเซเช‚ เชชเชพเช›เซเช‚ เช†เชชเซ€เชจเซ‡.

FizzBuzz

เช‡เชจเซเชŸเชฐเชตเซเชฏเซเชฎเชพเช‚ เชธเซŒเชฅเซ€ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ เช•เชพเชฐเซเชฏเซ‹เชฎเชพเช‚เชจเซเช‚ เชเช•.

เชธเซเชŸเซ‡เชœเซ€เช‚เช—

เชคเชฎเชพเชฐเซ‡ เชเช• เชซเช‚เช•เซเชถเชจ เชฒเช–เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชœเซ‡ เช•เชจเซเชธเซ‹เชฒ เชชเชฐ 1 เชฅเซ€ n เชธเซเชงเซ€เชจเซ€ เชธเช‚เช–เซเชฏเชพเช“ เช›เชพเชชเซ‡ เช›เซ‡, เชœเซเชฏเชพเช‚ n เช เชชเซ‚เชฐเซเชฃเชพเช‚เช• เช›เซ‡ เชœเซ‡ เชซเช‚เช•เซเชถเชจ เชจเซ€เชšเซ‡เชจเซ€ เชถเชฐเชคเซ‹ เชธเชพเชฅเซ‡ เชชเชฐเชฟเชฎเชพเชฃ เชคเชฐเซ€เช•เซ‡ เชฒเซ‡ เช›เซ‡:

  • 3 เชจเชพ เช—เซเชฃเชพเช‚เช•เชจเซ‡ เชฌเชฆเชฒเซ‡ เช†เช‰เชŸเชชเซเชŸ เชซเชฟเช;
  • 5 เชจเชพ เช—เซเชฃเชพเช‚เช•เชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเซ‡ เชฌเชฆเชฒเซ‡ เช†เช‰เชŸเชชเซเชŸ เชฌเช;
  • 3 เช…เชจเซ‡ 5 เชฌเช‚เชจเซ‡เชจเชพ เช—เซเชฃเชพเช‚เช•เชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเซ‡ เชฌเชฆเชฒเซ‡ fizzbuzz เช†เช‰เชŸเชชเซเชŸ.

เช‰เชฆเชพเชนเชฐเชฃ:

เชซเชฟเชเชฌเช(5)

เชชเชฐเชฟเชฃเชพเชฎ

// 1
// 2
// เชซเชฟเช
// 4
//เช—เชฃเช—เชฃเชตเซเช‚

เชšเชพเชฒเซ‹ เช•เชพเชฐเซเชฏเชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเซ€เช

เช…เชนเซ€เช‚ เชฎเซเช–เซเชฏ เชตเชธเซเชคเซ JavaScript เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช—เซเชฃเชพเช‚เช• เชถเซ‹เชงเชตเชพเชจเซ€ เชฐเซ€เชค เช›เซ‡. เชคเซ‡ เชฎเซ‹เชกเซเชฏเซเชฒเชธ เช“เชชเชฐเซ‡เชŸเชฐ เช…เชฅเชตเชพ เชถเซ‡เชท - % เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เซ€ เชถเช•เชพเชฏ เช›เซ‡, เชœเซ‡ เชคเชฎเชจเซ‡ เชฌเซ‡ เชธเช‚เช–เซเชฏเชพเช“เชจเซ‡ เชตเชฟเชญเชพเชœเซ€เชค เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชถเซ‡เชท เชฌเชคเชพเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เชœเซ‹ เชถเซ‡เชท 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)
    }
  }
}

เชซเช‚เช•เซเชถเชจ เชถเชฐเชคเซ€ เชจเชฟเชตเซ‡เชฆเชจเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชœเชฐเซ‚เชฐเซ€ เชคเชชเชพเชธ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฆเซเชตเชพเชฐเชพ เชœเชฐเซ‚เชฐเซ€ เชชเชฐเชฟเชฃเชพเชฎ เช‰เชคเซเชชเชจเซเชจ เช•เชฐเซ‡ เช›เซ‡. เชธเชฎเชธเซเชฏเชพเชฎเชพเช‚, if...else เชธเซเชŸเซ‡เชŸเชฎเซ‡เชจเซเชŸเชจเชพ เช•เซเชฐเชฎ เชชเชฐ เชงเซเชฏเชพเชจ เช†เชชเชตเซเช‚ เชฏเซ‹เช—เซเชฏ เช›เซ‡: เชกเชฌเชฒ เชถเชฐเชค (&&) เชฅเซ€ เชถเชฐเซ‚ เช•เชฐเซ‹ เช…เชจเซ‡ เชœเซเชฏเชพเช‚ เชฌเชนเซเชตเชฟเชง เชธเช‚เช–เซเชฏเชพเช“ เชถเซ‹เชงเซ€ เชถเช•เชพเชˆ เชจ เชนเซ‹เชฏ เชคเซ‡เชตเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชธเชฎเชพเชชเซเชค เช•เชฐเซ‹. เชชเชฐเชฟเชฃเชพเชฎเซ‡, เช…เชฎเซ‡ เชฌเชงเชพ เชตเชฟเช•เชฒเซเชชเซ‹ เช†เชตเชฐเซ€ เชฒเชˆเช เช›เซ€เช.

เชเชจเชพเช—เซเชฐเชพเชฎ

เช† เชเชตเชพ เชถเชฌเซเชฆเชจเซเช‚ เชจเชพเชฎ เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เชฌเซ€เชœเชพ เชถเชฌเซเชฆเชจเชพ เชคเชฎเชพเชฎ เช…เช•เซเชทเชฐเซ‹ เชธเชฎเชพเชจ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เชนเซ‹เชฏ, เชชเชฐเช‚เชคเซ เช…เชฒเช— เช•เซเชฐเชฎเชฎเชพเช‚ เชนเซ‹เชฏ.

เชธเซเชŸเซ‡เชœเซ€เช‚เช—

เช†เชชเชฃเซ‡ เชเช• เชซเช‚เช•เซเชถเชจ เชฒเช–เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชœเซ‡ เชคเชชเชพเชธเซ‡ เช›เซ‡ เช•เซ‡ เชฌเซ‡ เชธเซเชŸเซเชฐเชฟเช‚เช—เซเชธ เชเชจเชพเช—เซเชฐเชพเชฎ เช›เซ‡ เช•เซ‡ เช•เซ‡เชฎ, เช…เชจเซ‡ เช•เซ‡เชธเชฅเซ€ เช•เซ‹เชˆ เชซเชฐเช• เชชเชกเชคเซ‹ เชจเชฅเซ€. เชฎเชพเชคเซเชฐ เช…เช•เซเชทเชฐเซ‹ เช—เชฃเชพเชฏ เช›เซ‡; เชœเช—เซเชฏเชพเช“ เช…เชฅเชตเชพ เชตเชฟเชฐเชพเชฎเชšเชฟเชนเซเชจเซ‹ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเชคเชพ เชจเชฅเซ€.

เชเชจเชพเช—เซเชฐเชพเชฎ('เชซเชพเช‡เชจเซเชกเชฐ', 'เชซเซเชฐเซ‡เชจเซเชก') โ€”> เชธเชพเชšเซเช‚
เชเชจเชพเช—เซเชฐเชพเชฎ('เชนเซ‡เชฒเซ‹', 'เชฌเชพเชฏ') โ€”> เช–เซ‹เชŸเซเช‚

เชšเชพเชฒเซ‹ เช•เชพเชฐเซเชฏเชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเซ€เช

เช…เชนเซ€เช‚ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชตเชพ เชœเซ‡เชตเซ€ เชฎเชนเชคเซเชตเชจเซ€ เชฌเชพเชฌเชค เช เช›เซ‡ เช•เซ‡ เชคเชฎเชพเชฐเซ‡ เชฌเซ‡ เช‡เชจเชชเซเชŸ เชฒเชพเช‡เชจเชฎเชพเช‚ เชฆเชฐเซ‡เช• เช…เช•เซเชทเชฐ เช…เชจเซ‡ เชฆเชฐเซ‡เช• เชฒเชพเช‡เชจเชฎเชพเช‚ เชคเซ‡เชฎเชจเซ€ เชธเช‚เช–เซเชฏเชพ เชคเชชเชพเชธเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เชถเซ‹เชงเช• โ€”> f: 1 เชฎเชฟเชคเซเชฐ โ€”> f: 1
i: 1 เช†เชฐ: 1
n: 1 i: 1
d: 1 e: 1
e: 1 n: 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', 'i', 'n', 'd', 'e', โ€‹โ€‹'r']

เช† เชฐเซ€เชคเซ‡ เช†เชชเชฃเซ‡ เชฌเชฒเซเช• เชฒเซ‚เชช เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเชพ เช—เซเชฃเชงเชฐเซเชฎเซ‹ เชฎเซ‡เชณเชตเซ€เช เช›เซ€เช. เชธเชฎเชธเซเชฏเชพเชฎเชพเช‚, เชคเชฎเซ‡ .length เช—เซเชฃเชงเชฐเซเชฎ เชธเชพเชฅเซ‡ เช† เชชเชฆเซเชงเชคเชฟเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช•เซ‡ เช•เซ‡เชฎ เชคเซ‡ เชšเช•เชพเชธเชตเชพ เชฎเชพเชŸเซ‡ เช•เซ‡ เชฌเช‚เชจเซ‡ เชธเซเชŸเซเชฐเซ€เช‚เช—เชฎเชพเช‚ เชธเชฎเชพเชจ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เช…เช•เซเชทเชฐเซ‹ เช›เซ‡ - เช† เชเชจเชพเช—เซเชฐเชพเชฎเชจเซเช‚ เชเช• เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชฒเช•เซเชทเชฃ เช›เซ‡.

เชธเซเชตเชฐเซ‹ เชฎเชพเชŸเซ‡ เชถเซ‹เชงเซ‹

เชเช•เชฆเชฎ เชธเชฐเชณ เช•เชพเชฐเซเชฏ เชœเซ‡ เชตเชพเชฐเช‚เชตเชพเชฐ เช‡เชจเซเชŸเชฐเชตเซเชฏเซเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชธเซเชŸเซ‡เชœเซ€เช‚เช—

เชคเชฎเชพเชฐเซ‡ เชเช• เชซเช‚เช•เซเชถเชจ เชฒเช–เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชœเซ‡ เชธเซเชŸเซเชฐเชฟเช‚เช—เชจเซ‡ เชฆเชฒเซ€เชฒ เชคเชฐเซ€เช•เซ‡ เชฒเซ‡ เช›เซ‡ เช…เชจเซ‡ เชธเซเชŸเซเชฐเชฟเช‚เช—เชฎเชพเช‚ เชฐเชนเซ‡เชฒเชพ เชธเซเชตเชฐเซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡.
เชธเซเชตเชฐเซ‹ เช›เซ‡ โ€œaโ€, โ€œeโ€, โ€œiโ€, โ€œoโ€, โ€œuโ€.

เช‰เชฆเชพเชนเชฐเชฃ:

findVowels('hello') // โ€”> 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
}

เช† .match() เชชเชฆเซเชงเชคเชฟเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ เชคเชฎเชจเซ‡ เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เชถเซ‹เชงเชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพ เชฎเชพเชŸเซ‡ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเซ‡ เช›เซ‡. เชœเซ‹ เชชเชฆเซเชงเชคเชฟเชจเซ€ เชฆเชฒเซ€เชฒ เชคเชฐเซ€เช•เซ‡ เชจเชฟเชฏเชฎเชฟเชค เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เชธเซเชŸเซเชฐเชฟเช‚เช—เชจเซ€ เช…เช‚เชฆเชฐ เชœเซ‹เชตเชพ เชฎเชณเซ‡ เช›เซ‡, เชคเซ‹ เชตเชณเชคเชฐ เชฎเซ‚เชฒเซเชฏ เช เชฎเซ‡เชณ เช–เชพเชคเชพ เช…เช•เซเชทเชฐเซ‹เชจเซ€ เชเชฐเซ‡ เช›เซ‡. เช เซ€เช• เช›เซ‡, เชœเซ‹ เชคเซเชฏเชพเช‚ เช•เซ‹เชˆ เชฎเซ‡เชณ เชจ เชนเซ‹เชฏ, เชคเซ‹ .match() เชจเชฒ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡.

เชซเชฟเชฌเซ‹เชจเชพเช•เซ€

เชเช• เช‰เชคเซเชคเชฎ เช•เชพเชฐเซเชฏ เชœเซ‡ เชตเชฟเชตเชฟเชง เชธเซเชคเชฐเซ‡ เช‡เชจเซเชŸเชฐเชตเซเชฏเซเชฎเชพเช‚ เชฎเชณเซ€ เชถเช•เซ‡ เช›เซ‡. เชคเซ‡ เชฏเชพเชฆ เช•เชฐเชตเชพ เชฏเซ‹เช—เซเชฏ เช›เซ‡ เช•เซ‡ เชซเชฟเชฌเซ‹เชจเชพเช•เซ€ เช•เซเชฐเชฎ เช เชธเช‚เช–เซเชฏเชพเช“เชจเซ€ เชถเซเชฐเซ‡เชฃเซ€ เช›เซ‡ เชœเซเชฏเชพเช‚ เชฆเชฐเซ‡เช• เช…เชจเซเช—เชพเชฎเซ€ เชเช• เช…เช—เชพเช‰เชจเชพ เชฌเซ‡เชจเซ‹ เชธเชฐเชตเชพเชณเซ‹ เช›เซ‡. เชคเซ‡เชฅเซ€, เชชเซเชฐเชฅเชฎ เชฆเชธ เชจเช‚เชฌเชฐเซ‹ เช†เชจเชพ เชœเซ‡เชตเซ‹ เชฆเซ‡เช–เชพเชฏ เช›เซ‡: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34.

เชธเซเชŸเซ‡เชœเซ€เช‚เช—

เชคเชฎเชพเชฐเซ‡ เชซเช‚เช•เซเชถเชจ เชฒเช–เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชœเซ‡ เชšเซ‹เช•เซเช•เชธ เช•เซเชฐเชฎเชฎเชพเช‚ nth เชฐเซ‡เช•เซ‹เชฐเซเชก เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ n เช เชซเช‚เช•เซเชถเชจเชจเซ‡ เชฆเชฒเซ€เชฒ เชคเชฐเซ€เช•เซ‡ เชชเชธเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เชธเช‚เช–เซเชฏเชพ เช›เซ‡.

เชซเชฟเชฌเซ‹เชจเชพเช•เซ€(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 เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เช…เชฎเซ‡ เชฐเซ‹เช•เซ€เช เช›เซ€เช.

เชจเชฟเชทเซเช•เชฐเซเชท

เชฎเซ‹เชŸเซ‡ เชญเชพเช—เซ‡, เชœเซ‹ เชคเชฎเซ‡ เชซเซเชฐเชจเซเชŸเชเชจเซเชก เช…เชฅเชตเชพ JavaScript เชกเซ‡เชตเชฒเชชเชฐ เชœเซ‹เชฌ เชฎเชพเชŸเซ‡ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชฒเซ€เชงเชพ เชนเซ‹เชฏ (เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เชœเซ‹ เชคเซ‡ เชœเซเชจเชฟเชฏเชฐ เชธเซเชคเชฐ เชชเชฐ เชนเซ‹เชฏ เชคเซ‹) เชคเชฎเซ‡ เช†เชฎเชพเช‚เชฅเซ€ เช•เซ‹เชˆเชชเชฃ เช•เชพเชฐเซเชฏเชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเซ€ เชšเซ‚เช•เซเชฏเชพ เช›เซ‹. เชชเชฐเช‚เชคเซ เชœเซ‹ เชคเชฎเซ‡ เชคเซ‡เชฎเชจเซ‡ เชฎเชณเซเชฏเชพ เชจเชฅเซ€, เชคเซ‹ เชคเซ‡เช“ เชญเชตเชฟเชทเซเชฏเชฎเชพเช‚ เช‰เชชเชฏเซ‹เช—เซ€ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡ - เช“เช›เชพเชฎเชพเช‚ เช“เช›เชพ เชธเชพเชฎเชพเชจเซเชฏ เชตเชฟเช•เชพเชธ เชฎเชพเชŸเซ‡.

เชธเซเช•เชฟเชฒเชฌเซ‹เช•เซเชธ เชญเชฒเชพเชฎเชฃ เช•เชฐเซ‡ เช›เซ‡:

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹