function any(promises) { // váš kód zde }
Frontend
Vysvětlete, co se stane s obalem Promise, pokud asyncCall omylem zavolá předaný callback několikrát: nejdříve s chybou, poté s daty a nakonec znovu s chybou.
Jak jinak lze získat číselnou hodnotu z this (kromě Number(this))?
Kde by mohla být ve skutečné aplikaci užitečná funkce callLimit s možností resetování čítače?
Čím se liší kontrola 'key in result' od 'result.hasOwnProperty(key)'?
/** * Implementujte funkci compose, která přijímá * proměnný počet funkcí a vrací novou funkci. * Výsledek každé funkce je předán následující. */ // Kód zde const square = (x) => x * x; const times2 = (x) => x * 2; const sum = (a, b) => a + b; console.clear(); console.log(compose(square, times2)(2) === square(times2(2))); console.log(compose(square, times2, sum)(3, 4) === square(times2(sum(3, 4))));
Implementujte funkci sumPromises, která přijímá sliby jako argumenty a vrací součet jejich výsledků. Funkce může přijímat libovolný počet argumentů, lze použít jakékoli API slibů.
Napište funkci sleep, která vrací Promise a dokončí se po zadaném počtu milisekund.
Jak lze pseudo-pole arguments převést na skutečné pole? Uveďte několik způsobů.
Proč doba běhu sleep není přesně 1000 a 2000 milisekund, ale o něco více? Co ovlivňuje zpoždění?
/** * Implementujte funkci sumPromises, která přijímá * promise jako argumenty a vrací součet * jejich výsledků. * * Funkce může přijmout libovolný počet argumentů. * Lze použít jakékoli API promise. */ // Kód zde // Příklad použití const promise1 = Promise.resolve(1); const promise2 = Promise.resolve(2); sumPromises(promise1, promise2).then(console.log); // 3
[jméno] se zeptal: V případě paralelního vývoje, objasnili si provádějící sami smlouvy?
Proč se používá Array.prototype.slice.call(arguments)? Jak fungují call a apply?
9. Kopírování Během kontroly si profesor Floyd všiml, že někteří studenti si vyměňují poznámky. Nejprve chtěl všem dát dvojku, ale profesor byl laskavý, a proto se rozhodl studenty rozdělit do dvou skupin: ty, kteří umožňují kopírování, a těm, kterým dá pouze první skupině dvojku. Profesor má zaznamenány všechny páry studentů, kteří si vyměnili poznámky. Je třeba určit, zda je možné studenty rozdělit do dvou skupin tak, aby každá výměna poznámek probíhala od studenta jedné skupiny ke studentovi druhé skupiny. Formát vstupu V první řádce jsou dvě čísla N a M — počet studentů a počet párů studentů, kteří si vyměnili poznámky (1 ≤ N ≤ 10^2, 0 ≤ M ≤ N(N-1)/2). Dále v M řádcích jsou popsány páry studentů: dvě čísla odpovídající číslům studentů, kteří si vyměnili poznámky (číslování studentů začíná od 1, každý pár je uveden nejvýše jednou). Formát výstupu Je třeba vypsat odpověď na úlohu profesora Floyd. Pokud je možné studenty rozdělit do dvou skupin, napište YES; jinak, NO.
Jaké další metody API Promise znáš kromě Promise.all?
/** * Implementujte funkci isMonotonic, která přijímá * pole čísel a určuje, zda je * monotonní (nebo rostoucí nebo nerostoucí). * * @param {Array<number>} numbers - pole čísel * @return {boolean} - true, pokud je pole monotonní, jinak false */ function isMonotonic(numbers) { // váš kód zde }
Pověz mi o svém současném místě práce a projektu
Přepište funkci strjoin v ES5 bez operátoru rest
Existují problémy s přidáváním nových metod do prototypů vestavěných objektů?
Pro každý ze tří fragmentů JavaScript kódu určete, co bude vypsáno do konzole, a vysvětlete rozdíly v chování primitiv, objektů a přepisování odkazů.