Sobes.tech

function any(promises) { // ο κώδικάς σας εδώ }

161

// Σας δίνεται μια συμβολοσειρά που αποτελείται από λατινικά γράμματα, κενά και σημεία στίξης. // Μια συμβολοσειρά ονομάζεται πανγράμμα αν περιέχει τουλάχιστον μία φορά κάθε ένα από τα 26 γράμματα. Προσδιορίστε αν η συμβολοσειρά είναι πανγράμμα. const LETTERS = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']; function isPangram(text) { // ο κώδικάς σας εδώ } console.log(isPangram(`A pangram or holoalphabetic sentence is a using every letter of a given alphabet at least once.`)); // => console.log(isPangram('Waltz, bad nymph, for quick jigs vex.'))

160

Ποιοι περιορισμοί υπάρχουν στην αναδρομική περιήγηση του δέντρου; Πώς διαφέρει η αναζήτηση βάθους (DFS) από την αναζήτηση πλάτους (BFS); Πώς μπορεί να υλοποιηθεί η περιήγηση του δέντρου χωρίς αναδρομή;

157

Πώς μπορεί κανείς να πάρει μια αριθμητική τιμή από το this (εκτός από το Number(this));

157

Εξηγήστε τι θα συμβεί με το περιτύλιγμα Promise αν το asyncCall καλέσει κατά λάθος το δοσμένο callback πολλές φορές: αρχικά με σφάλμα, στη συνέχεια με δεδομένα και τέλος ξανά με σφάλμα.

156

/** * Υλοποιήστε τη συνάρτηση compose, η οποία δέχεται * μια μεταβλητή ποσότητα συναρτήσεων και επιστρέφει μια νέα συνάρτηση. * Το αποτέλεσμα κάθε συνάρτησης περνάει στην επόμενη. */ // Εδώ κώδικας 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))));

153

Υλοποιήστε τη λειτουργία sumPromises, η οποία δέχεται υποσχέσεις ως επιχειρήματα και επιστρέφει το άθροισμα των αποτελεσμάτων τους. Η λειτουργία μπορεί να δέχεται οποιονδήποτε αριθμό επιχειρημάτων, μπορεί να χρησιμοποιήσει οποιοδήποτε API υποσχέσεων.

153

Πώς μπορεί να μετατραπεί ένα ψευδο-πίνακας arguments σε πραγματικό πίνακα; Αναφέρετε μερικούς τρόπους.

152

Ποιες άλλες μεθόδους του API Promise γνωρίζεις εκτός από το Promise.all;

152

Πού σε μια πραγματική εφαρμογή θα μπορούσε να είναι χρήσιμη η λειτουργία callLimit με τη δυνατότητα μηδενισμού του μετρητή;

152

Ποια είναι η διαφορά μεταξύ του ελέγχου 'key in result' και 'result.hasOwnProperty(key)'?

151

Γιατί ο χρόνος εκτέλεσης του sleep δεν είναι ακριβώς 1000 και 2000 χιλιοστά του δευτερολέπτου, αλλά λίγο περισσότερο; Τι επηρεάζει την καθυστέρηση;

151

Γιατί χρησιμοποιείται το Array.prototype.slice.call(arguments); Πώς λειτουργούν τα call και apply;

148

9. Αντιγραφή Κατά τη διάρκεια μιας εξέτασης, ο καθηγητής Floyd παρατήρησε ότι ορισμένοι φοιτητές ανταλλάσσουν σημειώσεις. Αρχικά, ήθελε να τους δώσει όλους βαθμό 2, αλλά ο καθηγητής ήταν ευγενικός και αποφάσισε να χωρίσει τους φοιτητές σε δύο ομάδες: αυτούς που επιτρέπουν την αντιγραφή και να δώσει μόνο στην πρώτη ομάδα βαθμό 2. Ο καθηγητής έχει καταγράψει όλα τα ζευγάρια φοιτητών που αντάλλαξαν σημειώσεις. Είναι απαραίτητο να καθοριστεί αν μπορεί να χωρίσει τους φοιτητές σε δύο ομάδες έτσι ώστε κάθε ανταλλαγή σημειώσεων να πραγματοποιείται από φοιτητή μιας ομάδας σε φοιτητή της άλλης ομάδας. Μορφή εισόδου Στην πρώτη γραμμή βρίσκονται δύο αριθμοί N και M — ο αριθμός των φοιτητών και ο αριθμός των ζευγαριών φοιτητών που αντάλλαξαν σημειώσεις (1 ≤ N ≤ 10^2, 0 ≤ M ≤ N(N-1)/2). Στη συνέχεια, σε M γραμμές, περιγράφονται τα ζευγάρια φοιτητών: δύο αριθμοί που αντιστοιχούν στους αριθμούς των φοιτητών που αντάλλαξαν σημειώσεις (η αρίθμηση των φοιτητών ξεκινά από 1, κάθε ζευγάρι φοιτητών αναγράφεται όχι περισσότερο από μία φορά). Μορφή εξόδου Πρέπει να εκτυπωθεί η απάντηση στην εργασία του καθηγητή Floyd. Αν είναι δυνατό να χωρίσει τους φοιτητές σε δύο ομάδες, εκτυπώστε YES; διαφορετικά, NO.

146

[όνομα] ρώτησε: Σε περίπτωση παράλληλης ανάπτυξης, οι εκτελεστές διευκρίνισαν οι ίδιοι τα συμβόλαια;

146

Ορίστε αν μια συμβολοσειρά είναι 'πανγράμμα' — μια συμβολοσειρά που περιέχει κάθε γράμμα του αλφαβήτου τουλάχιστον μία φορά.

146

/** * Υλοποιήστε τη συνάρτηση isMonotonic, η οποία λαμβάνει * έναν πίνακα αριθμών και καθορίζει αν είναι * μονοτονικός (μη αυξανόμενος ή μη φθίνων). * * @param {Array<number>} numbers - πίνακας αριθμών * @return {boolean} - true αν ο πίνακας είναι μονοτονικός, διαφορετικά false */ function isMonotonic(numbers) { // ο κώδικάς σας εδώ }

143

Πες μου για το τρέχον μέρος εργασίας σου και το έργο

142

Ξαναγράψτε τη συνάρτηση strjoin σε ES5 χωρίς τον τελεστή rest

142

Γιατί μπορεί να χρειαστεί η μέθοδος apply στη λύση runOnce;

141
/7