
āĻ
āύā§āĻŦāĻžāĻĻāĻ āĻĨā§āĻā§: āĻāĻĒāύāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āύāĻŋāĻŦāύā§āϧ āĻĒā§āϰāĻāĻžāĻļ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ , āĻĒā§āϰāĻžāϝāĻŧāĻļāĻ āϏāĻžāĻā§āώāĻžāϤā§āĻāĻžāϰ⧠āĻāĻŦā§āĻĻāύāĻāĻžāϰā§āĻĻā§āϰ-āĻĄā§āĻā§āϞāĻĒāĻžāϰāĻĻā§āϰ āĻĻā§āĻāϝāĻŧāĻž āĻšāϝāĻŧāĨ¤ āύāĻŋāĻŦāύā§āϧāĻāĻŋ āĻāĻĒāϝā§āĻā§ āĻšāĻŦā§, āĻĒā§āϰāĻĨāĻŽāϤ, āύāĻŦā§āύ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻžāϰāĻĻā§āϰ āĻāύā§āϝāĨ¤
āĻā§āĻāύā§āϞāĻāĻŋ āĻā§āĻŽā§āĻĒāĻžāύāĻŋāĻā§āϞā§āϰ āĻāύā§āĻāĻžāϰāĻāĻŋāĻ āĻ āύā§āĻāĻĻāĻŋāύ āϧāϰā§āĻ āĻāϞā§āĻāύāĻžāϰ āĻŦāĻŋāώāϝāĻŧāĨ¤ āĻāĻāĻŋ āĻāĻļā§āĻāϰā§āϝāĻāύāĻ āύāϝāĻŧ - āϏāĻžāĻā§āώāĻžāϤā§āĻāĻžāϰā§āϰ āϏāĻĢāϞ āϏāĻŽāĻžāĻĒā§āϤāĻŋ āĻāĻāĻāĻŋ āĻāĻžāϞ āĻāĻžāĻāϰāĻŋ āĻĒāĻžāĻāϝāĻŧāĻž āϏāĻŽā§āĻāĻŦ āĻāϰ⧠āϤā§āϞā§āĨ¤ āϤāĻŦā§ āĻāĻāĻŋ āĻāϤ āϏāĻšāĻ āύāϝāĻŧ, āĻāĻžāϰāĻŖ āĻĒā§āϰāĻžāϝāĻŧāĻļāĻ āĻāĻāĻŋāϞ āϏāĻŽāϏā§āϝāĻžāĻā§āϞāĻŋ āϏāĻŽāĻžāϧāĻžāύ āĻāϰāĻž āĻĒā§āϰāϝāĻŧā§āĻāύāĨ¤
āĻ
āϧāĻŋāĻāύā§āϤā§, āĻĒā§āϰāĻžāϝāĻŧāĻļāĻ āĻāĻ āĻāĻžāĻāĻā§āϞāĻŋāϰ āĻŦā§āĻļāĻŋāϰāĻāĻžāĻāĻ āĻāĻŦā§āĻĻāύāĻāĻžāϰ⧠āϝ⧠āĻāĻžāĻāĻāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻāϰāĻŦā§ āϤāĻžāϰ āϏāĻžāĻĨā§ āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ āύāϝāĻŧ, āϤāĻŦā§ āϤāĻžāĻĻā§āϰ āĻāĻāύāĻ āϏāĻŽāĻžāϧāĻžāύ āĻāϰāĻž āĻĻāϰāĻāĻžāϰāĨ¤ āĻāĻāύāĻ āĻāĻāύāĻ āĻāĻĒāύāĻžāĻā§ āĻŦā§āϰā§āĻĄā§ āĻāĻāĻŋ āĻāϰāϤ⧠āĻšāĻŦā§, āĻā§āĻāϞ āĻŦāĻž āĻ
āύā§āϝ āĻā§āύāĻ āĻāϤā§āϏā§āϰ āϏāĻžāĻĨā§ āĻĒāϰā§āĻā§āώāĻž āύāĻž āĻāϰā§āĻāĨ¤ āĻšā§āϝāĻžāĻ, āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋ āϧā§āϰ⧠āϧā§āϰ⧠āĻĒāϰāĻŋāĻŦāϰā§āϤāĻŋāϤ āĻšāĻā§āĻā§, āĻāĻŦāĻ āĻāĻŋāĻā§ āĻā§āĻŽā§āĻĒāĻžāύāĻŋāϤ⧠āϤāĻžāϰāĻž āĻāĻ āϧāϰāύā§āϰ āϏāĻžāĻā§āώāĻžāϤā§āĻāĻžāϰ āĻĒā§āϰāϤā§āϝāĻžāĻā§āϝāĻžāύ āĻāϰā§, āϤāĻŦā§ āĻ
āύā§āĻ āύāĻŋāϝāĻŧā§āĻāĻāϰā§āϤāĻž āĻāĻāύāĻ āĻāĻ āĻāϤāĻŋāĻšā§āϝ āĻŽā§āύ⧠āĻāϞā§āύāĨ¤ āĻāĻ āύāĻŋāĻŦāύā§āϧāĻāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻžāϰā§āϝāĻā§āϞāĻŋāϰ āĻŦāĻŋāĻļā§āϞā§āώāĻŖā§āϰ āĻāύā§āϝ āĻāϤā§āϏāϰā§āĻā§āĻā§āϤ āϝāĻž āĻĒā§āϰāĻžāϝāĻŧāĻļāĻ āĻāĻŦā§āĻĻāύāĻāĻžāϰā§āĻĻā§āϰ āĻāύā§āϝ āĻāĻžāĻ āĻšāĻŋāϏāĻžāĻŦā§ āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧāĨ¤
āĻāĻŽāϰāĻž āĻŽāύ⧠āĻāϰāĻŋāϝāĻŧā§ āĻĻāĻŋāĻā§āĻāĻŋ: "Habr"-āĻāϰ āϏāĻāϞ āĻĒāĻžāĻ āĻāĻĻā§āϰ āĻāύā§āϝ - "Habr" āĻĒā§āϰāĻāĻžāϰāĻŽā§āϞāĻ āĻā§āĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϝā§āĻā§āύ⧠Skillbox āĻā§āϰā§āϏ⧠āύāĻĨāĻŋāĻā§āĻā§āϤ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ 10 āϰā§āĻŦā§āϞ āĻāĻžāĻĄāĻŧāĨ¤
Skillbox āϏā§āĻĒāĻžāϰāĻŋāĻļ āĻāϰā§: āĻŦā§āϝāĻŦāĻšāĻžāϰāĻŋāĻ āĻā§āϰā§āϏ .
āĻĒā§āϰāϧāĻžāύ āĻāĻŋāύāĻŋāϏ āϏāĻžāĻŦāϧāĻžāύ⧠āĻāĻĒāύāĻžāϰ āĻāύā§āĻāĻžāϰāĻāĻŋāĻ āĻāύā§āϝ āĻĒā§āϰāϏā§āϤā§āϤ āĻāϰāĻž āĻšāϝāĻŧ.
āĻšā§āϝāĻžāĻ, āĻāĻŽāϰāĻž āĻāĻžāĻāĻā§āϞāĻŋ āĻā§āĻā§ āĻĢā§āϞāĻž āĻļā§āϰ⧠āĻāϰāĻžāϰ āĻāĻā§, āĻāϏā§āύ āĻāĻāĻāĻŋ āĻāύā§āĻāĻžāϰāĻāĻŋāĻāϝāĻŧā§āϰ āĻāύā§āϝ āĻĒā§āϰāϏā§āϤā§āϤāĻŋāϰ āĻāύā§āϝ āĻāĻŋāĻā§ āϏāĻžāϧāĻžāϰāĻŖ āĻāĻŋāĻĒāϏ āĻĻā§āĻāĻŋāĨ¤
āĻĒā§āϰāϧāĻžāύ āĻāĻŋāύāĻŋāϏ āĻ āĻā§āϰāĻŋāĻŽ āĻĒā§āϰāϏā§āϤā§āϤ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ āĻāĻĒāύāĻŋ āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽ āĻāĻŦāĻ āĻĄā§āĻāĻž āϏā§āĻā§āϰāĻžāĻāĻāĻžāϰ āĻāϤāĻāĻž āĻāĻžāϞāĻāĻžāĻŦā§ āĻŽāύ⧠āϰā§āĻā§āĻā§āύ āϤāĻž āĻĒāϰā§āĻā§āώāĻž āĻāϰā§āύ āĻāĻŦāĻ āĻāĻĒāύāĻžāϰ āĻā§āĻāĻžāύā§āϰ āĻāύā§āύāϤāĻŋ āĻāϰā§āύ āϝā§āĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āĻāĻĒāύāĻŋ āĻā§āĻŦ āĻŦā§āĻļāĻŋ āĻĒāϰāĻŋāĻāĻŋāϤ āύāύāĨ¤ āĻāĻĒāύāĻžāĻā§ āϏāĻžāĻā§āώāĻžāϤā§āĻāĻžāϰā§āϰ āĻāύā§āϝ āĻĒā§āϰāϏā§āϤā§āϤ āĻāϰāϤ⧠āϏāĻšāĻžāϝāĻŧāϤāĻž āĻāϰāĻžāϰ āĻāύā§āϝ āĻ āύā§āĻāĻā§āϞāĻŋ āĻ āύāϞāĻžāĻāύ āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽ āϰāϝāĻŧā§āĻā§āĨ¤ āĻāĻŽāϰāĻž āĻĒāϰāĻžāĻŽāϰā§āĻļ āĻĻāĻŋāĻ , , и .
āĻāĻā§āĻāϏā§āĻŦāϰ⧠āϏāĻŋāĻĻā§āϧāĻžāύā§āϤāĻāĻŋ āĻāĻā§āĻāĻžāϰāĻŖ āĻāϰāĻž āĻļā§āĻāĻžāϰ āĻŽā§āϞā§āϝāĨ¤ āĻāĻĒāύāĻŋ āĻāĻŋ āĻāϰāĻā§āύ āϤāĻž āĻāĻŦā§āĻĻāύāĻāĻžāϰā§āĻĻā§āϰ āĻāĻžāύāĻžāϤ⧠āĻĒāϰāĻžāĻŽāϰā§āĻļ āĻĻā§āĻāϝāĻŧāĻž āĻšāϝāĻŧ, āĻāĻŦāĻ āĻļā§āϧ⧠āĻŦā§āϰā§āĻĄā§ āϞāĻŋāĻāĻŦā§āύ āύāĻž (āĻŦāĻž āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāϰ⧠āĻā§āĻĄ āĻāĻžāĻāĻĒ āĻāϰā§āύ, āύā§āϰāĻŦā§āĻ)āĨ¤ āϏā§āϤāϰāĻžāĻ, āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻā§āĻĄā§ āĻā§āϞ āĻāϰā§āύ āϤāĻŦā§ āϏāĻŽāĻžāϧāĻžāύāĻāĻŋ āϏāĻžāϧāĻžāϰāĻŖāϤ āϏāĻ āĻŋāĻ āĻšāϝāĻŧ, āĻāĻĒāύāĻŋ āĻāĻĒāύāĻžāϰ āϏāĻžāĻĢāϞā§āϝā§āϰ āϏāĻŽā§āĻāĻžāĻŦāύāĻž āĻŦāĻžāĻĄāĻŧāĻŋāϝāĻŧā§ āϤā§āϞāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
āϏāĻŽāĻžāϧāĻžāύ āĻļā§āϰ⧠āĻāϰāĻžāϰ āĻāĻā§ āϏāĻŽāϏā§āϝāĻžāĻāĻŋ āĻŦā§āĻāϤ⧠āĻšāĻŦā§āĨ¤ āĻāĻŋāĻā§ āĻā§āώā§āϤā§āϰā§, āĻāĻĒāύāĻŋ āĻāĻĒāϰāĻŋāĻāĻžāĻā§ āĻāĻžāĻāĻāĻŋ āĻŦā§āĻāϤ⧠āĻĒāĻžāϰā§āύ āĻāĻŦāĻ āϤāĻžāϰāĻĒāϰ⧠āĻā§āϞ āĻĒāĻĨā§ āϝā§āϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āĻāύā§āĻāĻžāϰāĻāĻŋāĻāϝāĻŧāĻžāϰāĻā§ āĻāϝāĻŧā§āĻāĻāĻŋ āϏā§āĻĒāώā§āĻ āĻĒā§āϰāĻļā§āύ āĻāĻŋāĻā§āĻāĻžāϏāĻž āĻāϰāĻž āĻŽā§āϞā§āϝāĻŦāĻžāύ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤
āĻāĻĒāύāĻžāϰ āĻšāĻžāϤ⧠āĻā§āĻĄ āϞā§āĻāĻžāϰ āĻ āύā§āĻļā§āϞāύ āĻāϰāϤ⧠āĻšāĻŦā§, āĻĒāĻŋāϏāĻŋāϤ⧠āύāϝāĻŧāĨ¤ āĻāĻāĻŋ āĻāĻā§ āϝ⧠āϏāĻžāĻā§āώāĻžāϤā§āĻāĻžāϰ⧠āĻāĻŦā§āĻĻāύāĻāĻžāϰā§āĻā§ āĻāĻāĻāĻŋ āĻŽāĻžāϰā§āĻāĻžāϰ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻŦā§āϰā§āĻĄ āĻĻā§āĻāϝāĻŧāĻž āĻšāϝāĻŧ āϝā§āĻāĻžāύ⧠āĻā§āύāĻ āĻĒā§āϰāĻŽā§āĻĒāĻ āĻŦāĻž āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ āĻŦāĻŋāύā§āϝāĻžāϏ āύā§āĻāĨ¤ āĻāĻāĻāĻŋ āϏāĻŽāĻžāϧāĻžāύ āĻā§āĻāĻāĻā§āύ āϝāĻāύ, āĻāĻāĻāĻŋ āĻāĻžāĻāĻā§āϰ āĻā§āĻāϰāĻž āĻŦāĻž āĻĄāĻžāύ āĻŦā§āϰā§āĻĄā§ āĻāĻĒāύāĻžāϰ āĻā§āĻĄ āϞāĻŋāĻā§āύ. āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āϏāĻŦāĻāĻŋāĻā§ āĻāĻĒāύāĻžāϰ āĻŽāĻžāĻĨāĻžāϝāĻŧ āϰāĻžāĻā§āύ āϤāĻŦā§ āĻāĻĒāύāĻŋ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āĻāĻŋāĻā§ āĻā§āϞ⧠āϝā§āϤ⧠āĻĒāĻžāϰā§āύāĨ¤
āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§ āĻā§āĻŽāĻĒā§āϞā§āĻ āĻāĻžāϏā§āĻ
āĻāĻĒāύāĻŋ āϏāĻŽā§āĻāĻŦāϤ āĻāϤāĻŋāĻŽāϧā§āϝ⧠āĻāĻ āĻāĻžāĻā§āϰ āĻāĻŋāĻā§ āϏāĻā§āĻā§ āĻĒāϰāĻŋāĻāĻŋāϤ. āĻāĻĒāύāĻŋ āĻšāϝāĻŧ āĻāύā§āĻāĻžāϰāĻāĻŋāĻ āύāĻŋāϝāĻŧā§āĻāĻŋāϞā§āύ āϝā§āĻāĻžāύ⧠āĻāĻĒāύāĻžāĻā§ āĻāĻāĻ āϰāĻāĻŽ āĻāĻŋāĻā§ āϏāĻŽāĻžāϧāĻžāύ āĻāϰāϤ⧠āĻšāϝāĻŧā§āĻāĻŋāϞ, āĻŦāĻž āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻļā§āĻāĻžāϰ āϏāĻŽāϝāĻŧ āϏā§āĻā§āϞāĻŋāϤ⧠āĻ āύā§āĻļā§āϞāύ āĻāϰā§āĻāĻŋāϞā§āύāĨ¤ āĻāϝāĻŧā§āϞ, āĻāĻāύ āϤāĻžāĻĻā§āϰ āĻāĻŦāĻžāϰ āϏāĻŽāĻžāϧāĻžāύ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ, āĻāĻŦāĻ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻāĻŋāϰ āĻŦāĻŋāĻļāĻĻ āĻŦā§āϝāĻžāĻā§āϝāĻž āϏāĻšāĨ¤
āĻĒā§āϝāĻžāϞāĻŋāύāĻĄā§āϰā§āĻŽ
āĻāĻāĻāĻŋ āĻĒā§āϝāĻžāϞāĻŋāύā§āĻĄā§āϰā§āĻŽ āĻšāϞ āĻāĻāĻāĻŋ āĻļāĻŦā§āĻĻ, āĻŦāĻžāĻā§āϝ āĻŦāĻž āĻ āĻā§āώāϰā§āϰ āĻā§āϰāĻŽ āϝāĻž āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻĻāĻŋāĻ āĻāĻŦāĻ āĻŦāĻŋāĻĒāϰā§āϤ āĻāĻāϝāĻŧ āĻĻāĻŋāĻā§āĻ āĻ āĻŋāĻ āĻāĻāĻāĻāĻžāĻŦā§ āĻĒāĻĄāĻŧā§āĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, "āĻāύā§āύāĻž" āĻāĻāĻāĻŋ āĻĒā§āϝāĻžāϞāĻŋāύāĻĄā§āϰā§āĻŽ, āĻāĻŋāύā§āϤ⧠"āĻā§āĻŦāĻŋāϞ" āĻāĻŦāĻ "āĻāύ" āύāϝāĻŧāĨ¤
āĻāĻĒāϏā§āĻĨāĻžāĻĒāύāĻāĻžāϰā§
āĻāĻāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻ āĻĻā§āĻāϝāĻŧāĻž; āĻāĻĒāύāĻžāĻā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāύ āϞāĻŋāĻāϤ⧠āĻšāĻŦā§ āϝāĻž āĻāĻĒāύāĻžāĻā§ āϏā§āĻā§āϰāĻŋāĻāĻāĻŋ āĻĒā§āϝāĻžāϞāĻŋāύāĻĄā§āϰā§āĻŽ āĻšāϞ⧠āϏāϤā§āϝ āĻāĻŦāĻ āĻ āύā§āϝāĻĨāĻžāϝāĻŧ āĻŽāĻŋāĻĨā§āϝāĻž āĻšāϞ⧠āĻĢāĻŋāϰ⧠āĻāϏāϤ⧠āĻĻā§āϝāĻŧāĨ¤ āĻāĻ āĻā§āώā§āϤā§āϰā§, āϏā§āĻĒā§āϏ āĻāĻŦāĻ āĻŦāĻŋāϰāĻžāĻŽ āĻāĻŋāĻšā§āύāĻā§āϞāĻŋ āĻ āĻŦāĻļā§āϝāĻ āĻŦāĻŋāĻŦā§āĻāύāĻžāϝāĻŧ āύā§āĻāϝāĻŧāĻž āĻāĻāĻŋāϤāĨ¤
palindrome('racecar') === āϏāϤā§āϝ
āĻĒā§āϝāĻžāϞāĻŋāύāĻĄā§āϰā§āĻŽ('āĻā§āĻŦāĻŋāϞ') === āĻŽāĻŋāĻĨā§āϝāĻž
āĻāĻžāϏā§āĻ āĻĒāĻžāϰā§āϏāĻŋāĻ
āĻāĻāĻžāύ⧠āĻŽā§āϞ āϧāĻžāϰāĻŖāĻž āĻšāϞ āϏā§āĻā§āϰāĻŋāĻāĻāĻŋāĻā§ āĻĒāĻŋāĻāύā§āϰ āĻĻāĻŋāĻā§ āĻĢā§āϞāĻŋāĻĒ āĻāϰāĻžāĨ¤ āϝāĻĻāĻŋ "āĻŦāĻŋāĻĒāϰā§āϤ" āϏā§āĻā§āϰāĻŋāĻāĻāĻŋ āĻāϏāϞāĻāĻŋāϰ āϏāĻžāĻĨā§ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻ āĻāĻŋāύā§āύ āĻšāϝāĻŧ, āϤāĻŦā§ āĻāĻŽāϰāĻž āĻāĻāĻāĻŋ āĻĒā§āϝāĻžāϞāĻŋāύāĻĄā§āϰā§āĻŽ āĻĒā§āϝāĻŧā§āĻāĻŋ āĻāĻŦāĻ āĻĢāĻžāĻāĻļāύāĻāĻŋ āϏāϤā§āϝ āĻšāĻāϝāĻŧāĻž āĻāĻāĻŋāϤāĨ¤ āύāĻž āĻšāϞ⧠āĻŽāĻŋāĻĨā§āϝāĻžāĨ¤
āϰāĻžāϝāĻŧ
āĻāĻāĻžāύ⧠āĻā§āĻĄ āϝāĻž āĻāĻĒāύāĻžāĻā§ āĻĒā§āϝāĻžāϞāĻŋāύāĻĄā§āϰā§āĻŽ āϏāĻŽāĻžāϧāĻžāύ āĻāϰāϤ⧠āĻĻā§āϝāĻŧāĨ¤
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() (āĻ ā§āϝāĻžāϰ⧠āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻ ā§āϝāĻžāϰā§āĻāĻŋ āĻŦāĻŋāĻĒāϰā§āϤ āĻāϰāĻŋāĨ¤ āĻļā§āώ āϧāĻžāĻĒ āĻšāϞ .join() (āĻ ā§āϝāĻžāϰ⧠āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻŦāĻŋāĻĒāϰā§āϤ āĻ ā§āϝāĻžāϰā§āĻāĻŋāĻā§ āĻāĻāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻāϝāĻŧā§ āϰā§āĻĒāĻžāύā§āϤāϰ āĻāϰāĻžāĨ¤
āĻāĻāύ āϝāĻž āĻĻāϰāĻāĻžāϰ āϤāĻž āĻšāϞ "āĻŦāĻŋāĻĒāϰā§āϤ" āϏā§āĻā§āϰāĻŋāĻāĻāĻŋāĻā§ āĻāϏāϞāĻāĻŋāϰ āϏāĻžāĻĨā§ āϤā§āϞāύāĻž āĻāϰāĻž, āĻĢāϞāĻžāĻĢāϞāĻāĻŋ āϏāϤā§āϝ āĻŦāĻž āĻŽāĻŋāĻĨā§āϝāĻž āĻĢāĻŋāϰāĻŋāϝāĻŧā§ āĻĻā§āĻāϝāĻŧāĻžāĨ¤
āĻĢāĻŋāĻāĻŦāĻžāĻ
āϏāĻŦāĻā§āϝāĻŧā§ āĻāύāĻĒā§āϰāĻŋāϝāĻŧ āĻāĻžāĻāϰāĻŋāϰ āĻāύā§āĻāĻžāϰāĻāĻŋāĻ āĻāĻ.
āĻāĻĒāϏā§āĻĨāĻžāĻĒāύāĻāĻžāϰā§
āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāύ āϞāĻŋāĻāϤ⧠āĻšāĻŦā§ āϝāĻž āĻāύāϏā§āϞ⧠1 āĻĨā§āĻā§ n āĻĒāϰā§āϝāύā§āϤ āϏāĻāĻā§āϝāĻžāĻā§āϞāĻŋ āĻĒā§āϰāĻĻāϰā§āĻļāύ āĻāϰā§, āϝā§āĻāĻžāύ⧠n āĻšāϞ āĻāĻāĻāĻŋ āĻĒā§āϰā§āĻŖāϏāĻāĻā§āϝāĻž āϝāĻž āĻĢāĻžāĻāĻļāύāĻāĻŋ āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻļāϰā§āϤāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āĻāĻāĻāĻŋ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āĻšāĻŋāϏāĻžāĻŦā§ āύā§āϝāĻŧ:
- 3 āĻāϰ āĻā§āĻŖāĻŋāϤāĻā§āϰ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠āĻāĻāĻāĻĒā§āĻ āĻĢāĻŋāĻ;
- 5 āĻāϰ āĻā§āĻŖāĻŋāϤāĻā§āϰ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠buzz āĻāĻāĻāĻĒā§āĻ;
- 3 āĻāĻŦāĻ 5 āĻāĻāϝāĻŧā§āϰ āĻā§āĻŖāĻā§āϰ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠fizzbuzz āĻāĻāĻāĻĒā§āĻāĨ¤
āĻāĻĻāĻžāĻšāϰāĻŖ
āĻĢāĻŋāĻāĻŦāĻžāĻ (5)
āĻĢāϞ
// 1/XNUMX/XNUMX
// 2/XNUMX/XNUMX
// āĻĢāĻŋāĻ
// 4/XNUMX/XNUMX
// āĻā§āĻā§āĻāύ
āĻāĻžāϏā§āĻ āĻĒāĻžāϰā§āϏāĻŋāĻ
āĻāĻāĻžāύ⧠āĻĒā§āϰāϧāĻžāύ āĻāĻŋāύāĻŋāϏ āĻšāϞ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻŽāĻžāϞā§āĻāĻŋāĻĒāϞ āĻā§āĻāĻā§ āĻŦā§āϰ āĻāϰāĻžāϰ āĻāĻĒāĻžāϝāĻŧāĨ¤ āĻāĻāĻŋ āĻŽāĻĄā§āϞāĻžāϏ āĻ āĻĒāĻžāϰā§āĻāϰ āĻŦāĻž āĻ āĻŦāĻļāĻŋāώā§āĻ -% āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§, āϝāĻž āĻāĻĒāύāĻžāĻā§ āĻĻā§āĻāĻŋ āϏāĻāĻā§āϝāĻž āĻāĻžāĻ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻ āĻŦāĻļāĻŋāώā§āĻāĻžāĻāĻļ āĻĻā§āĻāĻžāϤ⧠āĻĻā§āϝāĻŧāĨ¤ āϝāĻĻāĻŋ āĻ āĻŦāĻļāĻŋāώā§āĻāĻžāĻāĻļ 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 āϏā§āĻā§āĻāĻŽā§āύā§āĻā§āϰ āĻā§āϰāĻŽāĻāĻŋāϰ āĻĻāĻŋāĻā§ āĻŽāύā§āϝā§āĻ āĻĻā§āĻāϝāĻŧāĻž āĻŽā§āϞā§āϝāĻŦāĻžāύ: āĻāĻāĻāĻŋ āĻĻā§āĻŦā§āϤ āĻļāϰā§āϤ (&&) āĻĻāĻŋāϝāĻŧā§ āĻļā§āϰ⧠āĻāĻŦāĻ āϝāĻāύ āĻāĻāĻžāϧāĻŋāĻ āϏāĻāĻā§āϝāĻž āĻā§āĻāĻā§ āĻĒāĻžāĻāϝāĻŧāĻž āϝāĻžāϝāĻŧāύāĻŋ āϤāĻāύ āĻā§āϏ āĻĻāĻŋāϝāĻŧā§ āĻļā§āώāĨ¤ āĻĢāϞāϏā§āĻŦāϰā§āĻĒ, āĻāĻŽāϰāĻž āϏāĻŦ āĻŦāĻŋāĻāϞā§āĻĒ āĻāĻāĻžāϰ.
āĻāĻ āĻļāĻŦā§āĻĻā§āϰ āĻŦāϰā§āĻŖāϏāĻŽā§āĻšā§āϰ āϏā§āĻĨāĻžāύāĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻĻā§āĻŦāĻžāϰāĻž āĻāĻŋāύā§āύ āĻļāĻŦā§āĻĻ āĻāĻ āύ
āĻāĻāĻŋ āĻāĻŽāύ āĻāĻāĻāĻŋ āĻļāĻŦā§āĻĻā§āϰ āύāĻžāĻŽ āϝā§āĻāĻžāύ⧠āĻāĻāĻ āϏāĻāĻā§āϝāĻžāϝāĻŧ āĻ āύā§āϝ āĻļāĻŦā§āĻĻā§āϰ āϏāĻŽāϏā§āϤ āĻ āĻā§āώāϰ āϰāϝāĻŧā§āĻā§ āϤāĻŦā§ āĻāĻŋāύā§āύ āĻā§āϰāĻŽā§āĨ¤
āĻāĻĒāϏā§āĻĨāĻžāĻĒāύāĻāĻžāϰā§
āĻāĻŽāĻžāĻĻā§āϰ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāύ āϞāĻŋāĻāϤ⧠āĻšāĻŦā§ āϝāĻž āĻĒāϰā§āĻā§āώāĻž āĻāϰ⧠āϝ⧠āĻĻā§āĻāĻŋ āϏā§āĻā§āϰāĻŋāĻ āĻ ā§āϝāĻžāύāĻžāĻā§āϰāĻžāĻŽ āĻāĻŋāύāĻž āĻāĻŦāĻ āĻ āĻā§āώāϰā§āϰ āĻā§āώā§āϤā§āϰ⧠āĻāĻŋāĻā§ āϝāĻžāϝāĻŧ āĻāϏ⧠āύāĻžāĨ¤ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻ āĻā§āώāϰ āĻāĻŖāύāĻž; āϏā§āĻĒā§āϏ āĻŦāĻž āĻŦāĻŋāϰāĻžāĻŽ āĻāĻŋāĻšā§āύāĻā§āϞāĻŋ āĻŦāĻŋāĻŦā§āĻāύāĻžāϝāĻŧ āύā§āĻāϝāĻŧāĻž āĻšāϝāĻŧ āύāĻžāĨ¤
anagram('āĻĢāĻžāĻāύā§āĻĄāĻžāϰ', 'āĻŦāύā§āϧā§') --> āϏāϤā§āϝ
āĻ
ā§āϝāĻžāύāĻžāĻā§āϰāĻžāĻŽ ('āĻšā§āϝāĻžāϞā§', 'āĻŦāĻžāĻ') --> āĻŽāĻŋāĻĨā§āϝāĻž
āĻāĻžāϏā§āĻ āĻĒāĻžāϰā§āϏāĻŋāĻ
āĻāĻāĻžāύ⧠āĻāĻāĻŋ āĻŦāĻŋāĻŦā§āĻāύāĻž āĻāϰāĻž āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āϝ⧠āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻ āĻā§āώāϰ āĻĻā§āĻāĻŋ āĻāύāĻĒā§āĻ āϞāĻžāĻāύ⧠āĻāĻŦāĻ āĻĒā§āϰāϤāĻŋāĻāĻŋ āϞāĻžāĻāύ⧠āϤāĻžāĻĻā§āϰ āϏāĻāĻā§āϝāĻž āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻž āĻĒā§āϰāϝāĻŧā§āĻāύāĨ¤
āϏāύā§āϧāĻžāύāĻāĻžāϰ⧠-> f: 1 āĻŦāύā§āϧ⧠-> f: 1
i: 1 r: 1
n: 1 i: 1
d: 1 e: 1
e: 1 n: 1
r:1 d: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
}āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻĻāĻŋāĻā§ āĻŽāύā§āϝā§āĻ āĻĻāĻŋāύ āĻāĻĒāϰā§āϰ āϏā§āύāĻŋāĻĒā§āĻā§āĨ¤ āĻāĻ āĻĒāĻĻā§āϧāϤāĻŋāĻāĻŋ āύāĻžāĻŽ āĻŦāĻž āĻā§ āϏāĻŽāύā§āĻŦāĻŋāϤ āĻāĻāĻāĻŋ āĻ ā§āϝāĻžāϰ⧠āĻĢā§āϰāϤ āĻĻā§āϝāĻŧ āϝā§āĻāĻžāĻŦā§ āϏā§āĻā§āϞāĻŋ āĻŦāϏā§āϤā§āϤ⧠āĻĒā§āϰāĻĻāϰā§āĻļāĻŋāϤ āĻšāϝāĻŧāĨ¤ āĻāĻ āĻā§āώā§āϤā§āϰā§, āĻ ā§āϝāĻžāϰ⧠āĻāĻ āĻŽāϤ āĻšāĻŦā§:
['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āĨ¤
āĻāĻĒāϏā§āĻĨāĻžāĻĒāύāĻāĻžāϰā§
āĻāĻĒāύāĻžāĻā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāύ āϞāĻŋāĻāϤ⧠āĻšāĻŦā§ āϝāĻž āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻā§āϰāĻŽāĻžāύā§āϏāĻžāϰ⧠nāĻŽ āϰā§āĻāϰā§āĻĄ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§, āĻāĻŦāĻ 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)
}āĻāĻŽāϰāĻž āĻĢāĻŋāĻŦā§āύāĻžāĻāĻŋāĻā§ āĻāϞ āĻāϰāϤ⧠āĻĨāĻžāĻāĻŋ, āĻāϰā§āĻā§āĻŽā§āύā§āĻ āĻšāĻŋāϏāĻžāĻŦā§ āĻā§āĻ āĻāĻŦāĻ āĻā§āĻ āϏāĻāĻā§āϝāĻžāϝāĻŧ āĻĒāĻžāϏ āĻāϰāĻŋāĨ¤ āĻĒāĻžāϏ āĻāϰāĻž āĻāϰā§āĻā§āĻŽā§āύā§āĻ 0 āĻŦāĻž 1 āĻšāϞ⧠āĻāĻŽāϰāĻž āĻĨāĻžāĻŽāĻŋāĨ¤
āĻāĻĒāϏāĻāĻšāĻžāϰ
āĻā§āĻŦ āϏāĻŽā§āĻāĻŦāϤ, āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻĢā§āϰāύā§āĻ-āĻāύā§āĻĄ āĻŦāĻž āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻĄā§āĻā§āϞāĻĒāĻžāϰ āĻāĻžāĻā§āϰ āĻāύā§āϝ āĻāύā§āĻāĻžāϰāĻāĻŋāĻ āύāĻŋāĻā§āĻā§āύ (āĻŦāĻŋāĻļā§āώāϤ āϝāĻĻāĻŋ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻā§āύāĻŋāϝāĻŧāϰ āϏā§āϤāϰā§āϰ āĻšāϝāĻŧ) āĻāĻĒāύāĻŋ āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āĻāĻ āĻāĻžāĻā§āϰ āϝā§āĻā§āύ⧠āĻāĻāĻāĻŋāϰ āϏāĻŽā§āĻŽā§āĻā§āύ āĻšāϝāĻŧā§āĻā§āύāĨ¤ āϤāĻŦā§ āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āϤāĻžāĻĻā§āϰ āϏāĻžāĻĨā§ āύāĻž āĻāϏ⧠āĻĨāĻžāĻā§āύ āϤāĻŦā§ āϤāĻžāϰāĻž āĻāĻŦāĻŋāώā§āϝāϤ⧠āĻāĻžāĻā§ āĻāϏāϤ⧠āĻĒāĻžāϰ⧠- āĻ āύā§āϤāϤ āϏāĻžāϧāĻžāϰāĻŖ āĻŦāĻŋāĻāĻžāĻļā§āϰ āĻāύā§āϝāĨ¤
Skillbox āϏā§āĻĒāĻžāϰāĻŋāĻļ āĻāϰā§:
- āĻ āύāϞāĻžāĻāύ āĻā§āϰā§āϏā§āϰ āĻāĻŦā§āĻĻāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ .
- āĻ āύāϞāĻžāĻāύ āĻā§āϰā§āϏ .
- āĻŦā§āϝāĻŦāĻšāĻžāϰāĻŋāĻ āĻŦāĻāϰā§āϰ āĻā§āϰā§āϏ .
āĻāϤā§āϏ: www.habr.com
