แแแแ แแแแแแแกแแแ: แแแแแแฅแแแงแแ แกแขแแขแแ แแฅแแแแแแแก
แขแแฅแแแแแแแฃแ แแแแแแแแแแจแ แแแขแแ แแแฃแแแ แแแแ แฎแแแแ แแฅแขแฃแแแฃแ แแ. แแก แแแกแแแแแ แ แแ แฃแแแ แแงแแก - แแแขแแ แแแฃแก แฌแแ แแแขแแแแ แฉแแแแ แแแ แแแซแแแแ แจแแกแแซแแแแแแแแก แแแแฆแแ แแแ แแ แกแแแฃแจแแ. แแแแ แแ แแก แแ แช แแกแ แแแ แขแแแแ, แ แแแแแ แ แแฃแแ แแ แแแแแแแแแก แแแแแญแ แ แฎแจแแ แแ แกแแญแแ แแ.
แฃแคแ แ แแแขแแช, แงแแแแแแ แฎแจแแ แแ, แแ แแแแชแแแแแแก แฃแแแขแแกแแแ แแ แแ แแก แแแแแแจแแ แแแฃแแ แแ แกแแแฃแจแแแกแแแ, แ แแแแแกแแช แแแแแชแฎแแแแแแแ แจแแแกแ แฃแแแแก, แแแแ แแ แแกแแแ แแแแแช แฃแแแ แแแแแญแ แแก. แแแแฏแแ แแฅแแแ แฃแแแ แแแแแแแแ แแก แแแคแแแ, Google-แแแ แแ แกแฎแแ แฌแงแแ แแกแแแ แจแแแแฌแแแแแก แแแ แแจแ. แแแแฎ, แแแแแ แแแ แแแแแแแแ แแชแแแแแ แแ แแแแแแ แแ แแแแแแแแ แขแแแแแก แแกแแ แแแขแแ แแแฃแแแก, แแแแ แแ แแแแ แ แแแแกแแฅแแแแแแ แแแแแช แแชแแแก แแ แขแ แแแแชแแแก. แแก แกแขแแขแแ แแซแฆแแแแแ แขแแแแฃแ แ JavaScript แแแแชแแแแแแก แแแแแแแก, แ แแแแแแแช แฎแจแแ แแ แแแแแแงแแแแแ แกแแแฃแจแแแก แแแซแแแแแแแแแแแก.
แจแแแแฎแกแแแแแ: "Habr"-แแก แงแแแแ แแแแแฎแแแแแกแแแแก - แคแแกแแแแแแแ 10 แ แฃแแแแแแ Skillbox-แแก แแแแแกแแแแ แแฃแ แกแแ แฉแแ แแชแฎแแแกแแก "Habr" แกแแ แแแแแแ แแแแแก แแแแแงแแแแแแ.
Skillbox แแแ แฉแแแ: แแ แแฅแขแแแฃแแ แแฃแ แกแ
"Mobile Developer PRO" .
แแแแแแ แแ แกแแคแฃแซแแแแแแแ แแแแแแแแแ แแฅแแแแ แแแขแแ แแแฃแกแแแแก.
แแแแฎ, แกแแแแ แแแแชแแแแแแก แจแแกแฌแแแแแก แแแแแฌแงแแแ, แแแแแ แแแแแแฎแแแแ แแแขแแ แแแฃแก แแแแแแแแแแก แแแแแ แ แฉแแแแก.
แแแแแแ แแ แฌแแแแกแฌแแ แแแแแแแแแ. แจแแแแแฌแแแ แ แแแแแแแ แแแ แแแ แแแฎแกแแแ แแแแแ แแแแแแ แแ แแแแแชแแแแ แกแขแ แฃแฅแขแฃแ แแแ แแ แแแแฃแแฏแแแแกแแ แแฅแแแแ แชแแแแ แแ แกแคแแ แแแแจแ, แ แแแแแแกแแช แแ แช แแฃ แแกแ แแแ แแแ แแชแแแแ. แแ แกแแแแแก แแ แแแแแ แแแแแแ แแแแขแคแแ แแ, แ แแแแแแช แแแแแฎแแแ แแแแ แแแแแแแแแ แแแขแแ แแแฃแแแแกแแแแก. แฉแแแ แแฃแ แฉแแแ
แฆแแ แก แแแกแฌแแแแแ แแแแแฌแงแแแขแแแแแแก แฎแแแแแฆแแ แแฅแแ. แแแแแแจแแฌแแแแแแ แแชแแแแแ แแแแแชแฎแแแแแแแแก แแแแก แจแแกแแฎแแ, แ แแกแแช แแแแแแแ แแ แแ แ แแฎแแแแ แแแคแแแ แแแฌแแ แแ (แแ แฉแแฌแแ แแ แแแแ แแแแแแฃแขแแ แจแ, แแกแแแ แฉแฃแแแ). แแ แแแแ, แแฃ แแแแจแ แจแแชแแแแแก แฃแจแแแแ, แแแแ แแ แแแแแกแแแแแ แแแแแแแ แกแฌแแ แแ, แจแแแแซแแแแ แแแแแ แแแ แฌแแ แแแขแแแแก แจแแแกแแแ.
แแ แแแแแแแก แแแแแญแ แแแแ แฃแแแ แแแแแแ. แแแแแแ แ แจแแแแฎแแแแแจแ, แแฅแแแ แจแแแซแแแแ แแแแแแแ แฃแแแ แแแแแแ แแแแแแแแ แแ แจแแแแแ แแ แแกแฌแแ แ แแแแ แฌแแฎแแแแแ. แจแแกแแซแแแ แฆแแ แแแก แแแขแแ แแแฃแแ แแกแแแแก แ แแแแแแแแ แแแแแแฃแกแขแแแแแ แแแแฎแแแก แแแกแแ.
แแฅแแแ แฃแแแ แแแแ แฏแแจแแ แแแแแก แแแฌแแ แ แฎแแแแ แแ แแ แ แแแแแแฃแขแแ แแ. แฎแแแแ แแกแ, แ แแ แแแกแแฃแแ แแแแก แแ แแก แแแแแชแฎแแแแแแแก แแซแแแแ แแแ แแแ แ แแ แแแคแ, แกแแแแช แแ แแ แแก แแแแแจแแแแแแ แแ แแแขแแแแขแฃแ แ แคแแ แแแขแแ แแแ. แแแแแกแแแแแก แซแแแแแกแแก, แฆแแ แก แแฅแแแแ แแแแแก แฉแแฌแแ แ แคแฃแ แชแแแแ แแ แแแ แแแแแ แแแคแแแ. แแฃ แงแแแแแคแแ แก แแแแจแ แแแแฎแแ, แจแแแซแแแแ แ แแฆแแช แแแแจแแแแแแแแแ แแแแแแแฌแงแแแก.
แจแแแแแแฃแ แ แแแแชแแแแแ JavaScript-แจแ
แแ แแแแชแแแแแแก แแแแแแ แแ แแแฌแแแ แแแแแ แฃแแแ แแแชแแแแแ แแฅแแแแแแแก. แแฅแแแ แแ แแฅแแแแแ แแแขแแ แแแฃแแแ, แกแแแแช แแกแแแแกแ แ แแแแก แแแแฎแกแแ แแแแแฌแแแ, แแ แแแแ แฏแแจแแ แแแแแ JavaScript-แแก แกแฌแแแแแกแแก. แแแ แแแ, แแฎแแ แแ แแ แแแแ แแแแแญแ แ แแกแแ แแ แแ แแชแแกแแก แแแขแแแฃแ แ แแฎแกแแแ.
แแแแแแแ แแแ
แแแแแแแ แแแ แแ แแก แกแแขแงแแ, แฌแแแแแแแแแ แแ แกแแแแแแแแ แแแแแแแแแแ แแแ, แ แแแแแแช แแแแแฎแแแ แแฃแกแขแแ แแ แแแแแ แแ แ แแแแ แช แฉแแแฃแแแแ แแแ, แแกแแแ แกแแแแ แแกแแแ แ แแแแแ แแฃแแแแแ. แแแแแแแแแ, "แแแ" แแ แแก แแแแแแแ แแแ, แแแแ แแ "แแแแแแ" แแ "แฏแแแ" แแ แ.
แฌแแ แแแแแ
แแแชแแแฃแแแ แกแขแ แแฅแแแ; แแฅแแแ แฃแแแ แแแฌแแ แแ แคแฃแแฅแชแแ, แ แแแแแแช แกแแจแฃแแแแแแก แแแแชแแแ แแแแแ แฃแแแ true, แแฃ แกแขแ แแฅแแแ แแ แแก แแแแแแแ แแแ, แแ false แแฃ แแ แ. แแ แจแแแแฎแแแแแจแ, แแฅแแแ แฃแแแ แแแแแแแแแกแฌแแแแ แกแแแ แชแแแแ แแ แแฃแแฅแขแฃแแชแแแก แแแจแแแแ.
palindrome ('racecar') === true
palindrome('table') === false
แแแแแแแแแแแแ แแแแแแแแ
แแฅ แแแแแแ แ แแแแ แแ แแก แกแขแ แแฅแแแแก แจแแแ แฃแแแแ. แแฃ โแฃแแฃโ แกแขแ แแฅแแแ แแแแแแแแ แแ แแแแแแแแก แแแแแขแฃแ แแ, แแแจแแ แฉแแแ แแแแแฆแแ แแแแแแแ แแแ แแ แคแฃแแฅแชแแ แฃแแแ แแแแ แฃแแแแก true. แแฃ แแ แ, แชแ แฃ.
แแแแแฌแงแแแขแแแแแ
แแฅ แแ แแก แแแแ, แ แแแแแแช แฎแกแแแก แแแแแแแ แแแก.
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() แแแแแแแก แแแแแงแแแแแแ (String library). แจแแแแแ แฉแแแ แแแแ แฃแแแแ แแแกแแแก .reverse() (Array library) แแแแแงแแแแแแ. แแแแ แแแแแฏแ แแ แแก แกแแแแ แแกแแแ แ แแแกแแแแก แกแขแ แแแแแ แแแแแฅแชแแแ .join() (Array แแแแแแแแแแ) แแแแแงแแแแแแ.
แแฎแแ แงแแแแแคแแ แ แ แแช แแฅแแแ แฃแแแ แแแแแแแแ แแ แแก แจแแแแแ แแ "แฃแแฃ" แกแขแ แแฅแแแ แแแแแแแแ แแแ แกแขแ แแฅแแแก, แแแแแ แฃแแแ แจแแแแแ true แแ false.
FizzBuzz
แแ แ-แแ แแ แงแแแแแแ แแแแฃแแแ แฃแแ แแแแชแแแ แแแขแแ แแแฃแแแจแ.
แฌแแ แแแแแ
แแฅแแแ แฃแแแ แแแฌแแ แแ แคแฃแแฅแชแแ, แ แแแแแแช แแแญแแแแก แชแแคแ แแแก 1-แแแ n-แแแ แแแแกแแแจแ, แกแแแแช n แแ แแก แแแแแ แ แแชแฎแแ, แ แแแแแกแแช แคแฃแแฅแชแแ แแฆแแแก แแแ แแแแขแ แแ, แจแแแแแแ แแแ แแแแแแ:
- แแแแแแแแแแ fizz แแแชแแแแ 3-แแก แฏแแ แแแ;
- 5-แแก แฏแแ แแแ แ แแชแฎแแแแแก แแแชแแแแ แแแแแแแแแแ แฎแแแฃแ แ;
- fizzbuzz แแแแแแฅแแก 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 แแแแฃแแแแแแแก แแแแแแแแแแ แแแแก: แแแแฌแงแแ แแ แแแแ แแแ แแแแ (&&) แแ แแแแกแ แฃแแแ แแ แจแแแแฎแแแแแ, แ แแแแกแแช แแ แแแแแ แ แแชแฎแแ แแแ แแแแซแแแแ. แจแแแแแแ, แฉแแแ แแคแแ แแแ แงแแแแ แแแ แแแแขแก.
แแแแแ แแแ
แแก แแ แแก แกแแขแงแแแก แกแแฎแแแ, แ แแแแแแช แจแแแชแแแก แกแฎแแ แกแแขแงแแแก แงแแแแ แแกแแก แแแแแ แ แแชแฎแแจแ, แแแแ แแ แแแแกแฎแแแแแแฃแแ แแแแแแแแแแ แแแแ.
แฌแแ แแแแแ
แฉแแแ แฃแแแ แแแแฌแแ แแ แคแฃแแฅแชแแ, แ แแแแแแช แแแแฌแแแแก แแ แแก แแฃ แแ แ แแ แ แกแขแ แแฅแแแ แแแแแ แแแ, แแ แกแแฅแแแก แแแแจแแแแแแแ แแ แแฅแแก. แแแแแแแแแ แแฎแแแแ แกแแแแแแแแแ; แกแแแ แชแแแแ แแ แแฃแแฅแขแฃแแชแแแก แแแจแแแแ แแ แแ แแก แแแแแแแแกแฌแแแแแฃแแ.
แแแแแ แแแ ('แแแแแแแแแแ', 'แแแแแแแ แ') โ> แแแ แแแแแ
anagram('แแแแแ แฏแแแ', 'แแจแแแแแแแ') โ> false
แแแแแแแแแแแแ แแแแแแแแ
แแฅ แแแกแแแแแแแกแฌแแแแแแแแ แแก, แ แแ แแฅแแแ แฃแแแ แจแแแแแฌแแแ แแแแแแฃแแ แแกแ แจแแงแแแแแก แแ แฎแแแจแ แแ แแแแ แ แแชแฎแแ แแแแแแฃแ แกแขแ แแฅแแแจแ.
แแแแแแแแ โ> f: 1 แแแแแแแ แ โ> f: 1
แแ: 1 r: 1
n: 1 แแ: 1
แ: 1 แ: 1
e: 1 n: 1
r: 1 d: 1
แแแแแ แแแแก แแแแแชแแแแแแก แจแแกแแแแฎแแ, แแฅแแแ แฃแแแ แแแ แฉแแแ แแกแแแ แกแขแ แฃแฅแขแฃแ แ, แ แแแแ แแชแแ JavaScript แแแแแฅแขแ แกแแขแงแแแกแแขแงแแแ. แแแกแแฆแแแ แแ แจแแแแฎแแแแแจแ แแ แแก แแกแแก แฎแแกแแแแ, แแแแจแแแแแแแ แแ แแก แแแกแ แแแแแแ แแแแแแก แ แแแแแแแแ แแแแแแแแ แ แฎแแแจแ.
แแ แกแแแแแก แกแฎแแ แแแ แแแแแ:
- แแฅแแแ แฃแแแ แแแ แฌแแฃแแแแ, แ แแ แจแแแแ แแแแกแแก แแ แแ แแก แแแแแแแแกแฌแแแแแฃแแ แแกแแแแแก แจแแแแฎแแแแ. แฉแแแ แฃแแ แแแแ แแแแแแแงแแแแ แแ แแแ แกแขแ แแฅแแแก แฅแแแแ แแ แแแแแ.
- แฉแแแ แแแแแแ แแชแฎแแแ แงแแแแ แแ แแกแแแแแแแก แจแแแแ แแแแแแ. แกแแฃแแแแแกแแ แแฃแจแแแแ
แ แแแฃแแแ แฃแแ แแแแแแแแฅแแแแแแ .
แแแแแฌแงแแแขแแแแแ
// 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 แแแแกแแแแ, แ แแแ แจแแแแแฌแแแ แแฅแแก แแฃ แแ แ แแ แแแ แกแขแ แแฅแแแก แแ แแแแแ แ แ แแแแแแแแแก แกแแแแแแ - แแก แแแแแ แแแแแแก แแแแจแแแแแแแแแ แแแฎแแกแแแแแแแแแ.
แฎแแแแแแแ แซแแแแ
แกแแแแแแ แแแ แขแแแ แแแแชแแแ, แ แแแแแแช แฎแจแแ แแ แฉแแแแแ แแแขแแ แแแฃแแแจแ.
แฌแแ แแแแแ
แแฅแแแ แฃแแแ แแแฌแแ แแ แคแฃแแฅแชแแ, แ แแแแแแช แแฆแแแก แกแขแ แแฅแแแก แแ แแฃแแแแขแแ แแ แแแ แฃแแแแก แฎแแแแแแแ แ แแแแแแแแแก, แ แแแแแแแช แจแแแชแแแก แกแขแ แแฅแแแก.
แฎแแแแแแแ แแ แแก "แ", "แ", "แ", "แ", "แฃ".
แแแแแแแแ:
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() แแแแแแแก แแแแแงแแแแแแก. แแก แฎแแแแแกแแฌแแแแแแ แ แแแแ แช แกแขแ แแฅแแแแแแกแแแแก, แแกแแแ แแแกแแแแแแกแแแแก. แแก แฃแแแ แแฅแแแก แแแแแงแแแแแฃแแ แแแแก แแแกแแแแแแแ, แจแแแชแแแก แแฃ แแ แ แแแกแแแ แแแ แแแแฃแ แแแแจแแแแแแแแก. แแก แแแแแแ แแแ แฃแแแแก true-แก, แแฃ แแแกแแแ แจแแแชแแแก แแแแแแแแฃแ แแแแจแแแแแแแแก แแ false-แก, แแฃ แแก แแ แจแแแชแแแก.
แแ แแแแแแแก แฃแคแ แ แแแแแ แแแแแกแแแแแ แแ แกแแแแแก:
const findVowels = str => {
const matched = str.match(/[aeiou]/gi)
return matched ? matches.length : 0
}
แแก แแงแแแแแก .match() แแแแแแก, แ แแแแแแช แกแแจแฃแแแแแแก แแแซแแแแ แแแแแฎแแ แชแแแแแ แแคแแฅแขแฃแ แ แซแแแแ. แแฃ แฉแแแฃแแแแ แแแ แแแแแฎแแขแฃแแแแ, แ แแแแ แช แแแแแแแก แแ แแฃแแแแขแ, แแแฎแแแแแ แแแแแแแแฃแ แกแขแ แแฅแแแจแ, แแแจแแ แแแแ แฃแแแแฃแแ แแแแจแแแแแแแ แแ แแก แจแแกแแขแงแแแกแ แกแแแแแแแแแแก แแแกแแแ. แแกแ, แแฃ แแ แแ แแก แจแแกแแขแงแแแกแแแ, แแแจแแ .match() แแแ แฃแแแแก null-แก.
Fibonacci
แแแแกแแแฃแ แ แแแแแแแแ, แ แแแแแแช แจแแแแซแแแแ แแแฎแแ แแแขแแ แแแฃแแแจแ แกแฎแแแแแกแฎแแ แแแแแแ. แฃแแแ แแแแฎแกแแแแแก, แ แแ แคแแแแแแฉแแก แแแแแแแ แแแ แแ แแก แ แแชแฎแแแแแก แกแแ แแ, แกแแแแช แงแแแแแ แแแแแแแแ แแ แแก แฌแแแ แแ แแก แฏแแแ. แแกแ แ แแ, แแแ แแแแ แแแ แ แแชแฎแแ แแกแ แแแแแแงแฃแ แแแ: 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.
แแแแแงแแแแแก
แแแแ แแแแแแแแแ, แแฅแแแ แฃแแแ แจแแแฎแแแแ แแแ แ แแแแแแแ แแ แแแแชแแแแแแ, แแฃ แแแกแแฃแแ แแแ แแแฅแแ frontend-แแก แแ JavaScript-แแก แแแแแแแแแ แแก แกแแแฃแจแแแแ (แแแแกแแแฃแแ แแแแ, แแฃ แแก แฃแแชแ แแก แแแแแแแ). แแแแ แแ แแฃ แแแ แแ แจแแแฎแแแแ แแแ, แแกแแแ แจแแแซแแแแ แกแแกแแ แแแแแ แแงแแก แแแแแแแแจแ - แงแแแแ แจแแแแฎแแแแแจแ แแแแแแ แแแแแแแแ แแแแกแแแแก.
Skillbox แแแ แฉแแแ:
- แแแแแ แแ แแแแแแ แแฃแ แกแก
"แแแแแแแก แแแแแชแแแแ แแแแแแขแแแแกแ" .- แแแแแแ แแฃแ แกแ
"แแ แแคแแกแแแก แคแ แแแขแแแแแก แแแแแแแแแ แ" .- แแ แแฅแขแแแฃแแ แฌแแแก แแฃแ แกแ
"PHP แแแแแแแแแ แ 0-แแแ PRO-แแแ" .
แฌแงแแ แ: www.habr.com