O fa'atalanoaga i kamupani fa'atekonolosi ua leva ona fai ma tala a le taulaga. E le o se mea e ofo ai - o le pasia lelei o se faatalanoaga e te maua ai le avanoa e maua ai se galuega lelei. Ae e le faigofie tele lenei mea, talu ai o faafitauli faigata e masani ona manaʻomia ona foia.
E le gata i lea, o le tele o taimi, o le tele o nei galuega e le o fesoʻotaʻi ma le galuega o le a faia e le tagata talosaga, ae e manaʻomia lava ona foia. O nisi taimi e tatau ona e faia i luga o le laupapa, e aunoa ma le siakiina o Google poʻo soʻo se isi punaoa. Ioe, o le tulaga o loʻo faasolosolo malie lava ona suia, ma o nisi kamupani o loʻo lafoaia ia faʻatalatalanoaga, ae o le tele o tagata e ana galuega o loʻo tausisia pea lenei tu masani. O lenei tusiga e tuuto atu i le auiliiliga o galuega masani a JavaScript e masani ona faʻaaogaina e fai ma galuega mo tagata saili galuega.
Matou te faʻamanatu atu ia te oe:mo tagata faitau uma o le "Habr" - o se faʻaitiitiga o 10 rubles pe a lesitala i soʻo se vasega Skillbox e faʻaaoga ai le code promotional "Habr".
O le mea autu o le sauniuni lelei mo lau faʻatalanoaga.
Ioe, ae tatou te leʻi amata vaʻavaʻai i galuega, seʻi o tatou vaʻavaʻai i nisi o faʻamatalaga masani sauniuni faʻatalanoaga.
O le mea autu o le sauniuni muamua. Fa'ata'ita'i po'o le a lou manatua lelei o algorithms ma fa'amaumauga o fa'amaumauga, ma fa'aleleia lou malamalama i vaega e te le masani ai. E tele fa'asalalauga i luga ole laiga e mafai ona fesoasoani ia te oe e sauniuni ai mo fa'atalanoaga. Matou te fautua atu geeksforgeeks, Pramp, Interviewing.io и Faʻailoga.
E aoga le aʻoaʻoina e fai leotele le filifiliga. E fautuaina e taʻu atu i tagata talosaga mea e te faia, ae le naʻo le tusi i luga o le laupapa (pe faʻapipiʻi le code i totonu o le komepiuta, faʻapea foi le leoa). I lenei auala, afai e te faia se mea sese i le code, ae o le fofo e masani lava ona saʻo, e mafai ona e faʻateleina ou avanoa e manuia ai.
E tatau ona e malamalama i le faafitauli ae e te leʻi amata foia. I nisi tulaga, atonu e te malamalama i se galuega papa'u ona alu ai lea i lalo i le ala sese. Atonu e aoga le tuʻuina atu o ni nai fesili faʻamalamalama i le tagata faʻatalanoa.
E mana'omia lou fa'ata'ita'i tusitusi fa'ailoga i le lima, ae le o luga ole PC. E tupu i le taimi o faʻatalanoaga e tuʻuina atu i le tagata talosaga se maka ma se laupapa paepae, lea e leai ni faʻamatalaga poʻo se faʻasologa otometi. A su'e se fofo, e aoga le tusi i lalo o lau code i luga o se fasipepa pe tuusa'o i luga o le laupapa. Afai e te teuina mea uma i lou ulu, atonu e te galo se mea taua.
Galuega fa'ata'ita'i ile JavaScript
O nisi o nei galuega atonu ua e masani ai. Na e faia fa'atalanoaga e tatau ona e fo'ia ai se mea fa'apena, pe fa'ata'ita'i a'o e a'oa'oina le Javascript. Ia, o le taimi nei e toe foia ai, ma faʻatasi ai ma se faʻamatalaga auiliili o le faagasologa.
Palindrome
O le palindrome o se upu, fuaiupu poʻo se faʻasologa o mataitusi e faitau tutusa uma i le itu masani ma i le itu faʻafeagai. Mo se faʻataʻitaʻiga, "Anna" o se palindrome, ae o le "table" ma le "John" e leai.
Faʻavaeina
Tuuina atu se manoa; e tatau ona e tusia se galuega e mafai ai ona e toe faafoi moni pe afai o le manoa o se palindrome, ma sese pe a leai. I lenei tulaga, e tatau ona e amanaia avanoa ma faailoga.
palindrome('ta'avale ta'avale') === moni
palindrome('table') === sese
Sei o tatou iloiloina le galuega
O le manatu autu iinei o le fesuiai o le manoa. Afai o le manoa "tuai" e tutusa lelei ma le mea muamua, ona matou mauaina lea o se palindrome ma o le galuega e tatau ona toe foi moni. Afai e leai, sese.
faaiuga
O le code lea e foia ai le palindrome.
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('')
}
O le la'asaga muamua o le fa'aliliuina lea o mata'itusi i le manoa fa'aofi i mata'itusi laiti. O se faʻamaoniga lea o le polokalame o le a faʻatusatusaina tagata lava ia, ae le o se mataupu poʻo se isi lava mea.
O le laasaga lona lua o le fesuiaʻi o le laina. E le faigata le faia o lenei mea: e te manaʻomia le faʻaliliuina i totonu o se laina e faʻaaoga ai le .split() method (String library). Ona tatou fesuiai lea o le laina e faaaoga ai le .reverse() (Array library). O le la'asaga mulimuli o le fa'aliliuina lea o le laina fa'asolo i se manoa e fa'aaoga ai le .join() (Array library).
O le taimi nei na pau lava le mea e tatau ona e faia o le faʻatusatusaina o le manoa "tuai" ma le manoa muamua, toe faʻafoʻi le iʻuga saʻo pe sese.
FizzBuzz
O se tasi o galuega sili ona lauiloa i faatalanoaga.
Faʻavaeina
E te manaʻomia le tusiaina o se galuega e lolomi ai numera mai le 1 i le n i le faʻamafanafanaga, lea o le n o se integer e ave e le galuega e fai ma parakalafa, ma tulaga nei:
fa'atosina fa'asili nai lo fa'atele o le 3;
fa'aliga fa'aola nai lo numera e fa'atele i le 5;
fizzbuzz gaioiga nai lo numera e fa'atele i le 3 ma le 5.
Faataitaiga:
Fizzbuzz(5)
iʻuga
// 1
// 2
// fizz
// 4
//faiga
Sei o tatou iloiloina le galuega
O le mea autu iinei o se auala e maua ai le tele e faʻaaoga ai le JavaScript. E mafai ona faʻatinoina e faʻaaoga ai le modulus operator poʻo le toega -%, lea e mafai ai ona e faʻaalia le toega pe a vaevaeina numera lua. Afai o le vaega o totoe o le 0, o lona uiga o le numera muamua o se numera tele o le lona lua.
12% 5 // 2 -> 12 e le o se fa'atele o le 5
12% 3 // 0 -> 12 ole faatele ole 3
O lea la, afai e te vaevae le 12 i le 5, e te maua le 2 ma le totoe o le 2. Afai e te vaevae le 12 i le 3, e te maua le 4 ma le totoe o le 0. I le tulaga muamua, o le 12 e le o se numera o le 5, i le lona lua. , 12 o se fa'atele o le 3.
faaiuga
O le fofo sili ona lelei o le code lea:
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)
}
}
}
O le galuega e faʻatino siaki talafeagai e faʻaaoga ai faʻamatalaga tuutuuga ma maua ai le iʻuga e manaʻomia e le tagata faʻaoga. I le faʻafitauli, e taua le gauai atu i le faʻatonuga o faʻamatalaga pe afai ... isi: amata i se tulaga faʻalua (&&) ma faʻaiʻu i le mataupu e le mafai ona maua le tele o numera. O se taunuuga, matou te ufiufi uma filifiliga.
Anagram
O le igoa lea o se upu e iai mataitusi uma o se isi upu i le numera lava e tasi, ae i se faasologa ese.
Faʻavaeina
Matou te manaʻomia le tusia o se galuega e siaki pe lua manoa o anagrams, ma e le afaina le mataupu. Na o mataitusi e faitaulia; e le o amanaia avanoa po o faailoga.
anagram('finder', 'Friend') -> moni
anagram('talofa', 'tofa') -> sese
Sei o tatou iloiloina le galuega
O le mea taua e mafaufau i ai iinei e tatau ona e siaki mataitusi taʻitasi i laina faʻaoga e lua ma a latou numera i laina taʻitasi.
Ina ia teuina faʻamatalaga anagram, e tatau ona e filifilia se fausaga e pei o se mea moni JavaScript. O le ki i lenei tulaga o le uiga o le tusi, o le tau o le numera o ana toe fai i le laina o loʻo i ai nei.
E iai isi tulaga:
E tatau ona e faʻamautinoa e le o amanaia le tulaga o tusi pe a faʻatusatusa. Na'o le fa'aliliuina o manoa uma e lua i le mata'itusi la'ititi po'o le mataitusi pito i luga.
Matou te le aofia uma e le o ni uiga mai le faʻatusatusaga. Sili e galulue faatasi fa'aaliga masani.
faaiuga
// 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
}
Faalogo ile faʻaaogaina Object.keys() i le snippet i luga. O lenei metotia e toe faʻafoʻi ai se faʻasologa o loʻo i ai igoa poʻo ki i le faʻasologa tutusa e foliga mai i totonu o le mea. I lenei tulaga, o le array o le a pei o lenei:
['f', 'i', 'n', 'd', 'e', 'r']
O le auala lea tatou te maua ai meatotino o le mea faitino e aunoa ma le faia o se matasele tele. I se faʻafitauli, e mafai ona e faʻaogaina lenei metotia ma le .length meatotino e siaki ai pe tutusa uma le numera o mataitusi o manoa e lua - o se vaega taua lea o anagrams.
Saili mo vaueli
O se galuega faigofie e masani ona sau i faatalanoaga.
Faʻavaeina
E tatau ona e tusia se galuega e ave ai se manoa e fai ma finauga ma toe faafoi le numera o vaueli o loʻo i totonu o le manoa.
O vaueli “a”, “e”, “i”, “o”, “u”.
E taua le gauai atu i le faʻaogaina o le .includes() method. E avanoa mo manoa ma fa'asologa. E tatau ona fa'aoga e iloa ai pe o iai i se laina se tau fa'apitoa. O lenei metotia e toe foʻi moni pe afai o loʻo i ai i le array le tau faʻamaonia, ma le sese pe a leai.
E fa'aogaina ai le .match() metotia, lea e mafai ai ona e fa'atinoina se su'esu'ega lelei. Afai e maua se fa'amatalaga masani e avea o se fa'aupuga fa'atatau i totonu o le manoa fa'apitoa, o le tau fa'afo'i o se fa'asologa o mataitusi tutusa. Ia, afai e leai ni fa'atusa, ona toe fo'i mai lea o le .match() null.
fibonacci
O se galuega masani e mafai ona maua i faatalanoaga i tulaga eseese. E taua le manatuaina o le Fibonacci sequence o se faasologa o numera lea o loʻo mulimuli mai o le aofaʻi o le lua muamua. O lea la, o numera muamua e sefulu e pei o lenei: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34.
Faʻavaeina
E te manaʻomia le tusia o se galuega e toe faʻafoʻi ai le nth faʻamaumauga i se faasologa patino, ma le n o le numera na pasia e fai ma finauga i le galuega.
fibonacci(3) // —> 2
O lenei galuega e aofia ai le savali i totonu o se matasele i le numera o taimi o loʻo faʻamaonia i le finauga, toe faʻafoʻi le tau i le tulaga talafeagai. O lenei auala e faʻaalia ai le faʻafitauli e manaʻomia ai le faʻaogaina o matasele. Afai e te faʻaaogaina le recursion nai lo lena, e mafai ona faʻamalieina le tagata fai faatalanoaga ma avatu ia te oe ni nai manatu faaopoopo.
faaiuga
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]
}
I le fa'asologa o fa'ai'uga, o numera muamua e lua o lo'o iai i le fa'asologa ona o fa'amaumauga ta'itasi i le fa'asologa o le aofa'i lea o numera muamua e lua. I le amataga lava e leai ni numera se lua e mafai ona ave e maua ai le isi numera, o lea e le mafai ai e le matasele ona gaosia otometi. Ae, e pei ona tatou iloa, o numera muamua e lua e masani lava 0 ma le 1. O le mea lea, e mafai ona e amataina ma le lima le faasologa o taunuuga.
Ae mo le toe faʻafoʻi, o mea uma e sili atu ona faigofie ma sili atu ona faigata i le taimi e tasi:
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)
}
Matou te faʻaigoaina le fibonacci(), pasi atu numera laiti ma laiti e fai ma finauga. Matou te taofi pe a 0 pe 1 le finauga ua pasia.
iʻuga
E foliga mai, ua uma ona e feagai ma soʻo se tasi o nei galuega pe afai na faʻatalanoaina oe mo se pito i luma poʻo le JavaScript developer galuega (aemaise lava pe afai o loʻo i le tulaga laʻititi). Ae afai e te leʻi mauaina, atonu e aoga i le lumanaʻi - a itiiti mai mo le atinaʻe lautele.