function any(promises) { // ο κώδικάς σας εδώ }
Frontend
// Σας δίνεται μια συμβολοσειρά που αποτελείται από λατινικά γράμματα, κενά και σημεία στίξης. // Μια συμβολοσειρά ονομάζεται πανγράμμα αν περιέχει τουλάχιστον μία φορά κάθε ένα από τα 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.'))
Ποιοι περιορισμοί υπάρχουν στην αναδρομική περιήγηση του δέντρου; Πώς διαφέρει η αναζήτηση βάθους (DFS) από την αναζήτηση πλάτους (BFS); Πώς μπορεί να υλοποιηθεί η περιήγηση του δέντρου χωρίς αναδρομή;
Πώς μπορεί κανείς να πάρει μια αριθμητική τιμή από το this (εκτός από το Number(this));
Εξηγήστε τι θα συμβεί με το περιτύλιγμα Promise αν το asyncCall καλέσει κατά λάθος το δοσμένο callback πολλές φορές: αρχικά με σφάλμα, στη συνέχεια με δεδομένα και τέλος ξανά με σφάλμα.
/** * Υλοποιήστε τη συνάρτηση 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))));
Υλοποιήστε τη λειτουργία sumPromises, η οποία δέχεται υποσχέσεις ως επιχειρήματα και επιστρέφει το άθροισμα των αποτελεσμάτων τους. Η λειτουργία μπορεί να δέχεται οποιονδήποτε αριθμό επιχειρημάτων, μπορεί να χρησιμοποιήσει οποιοδήποτε API υποσχέσεων.
Πώς μπορεί να μετατραπεί ένα ψευδο-πίνακας arguments σε πραγματικό πίνακα; Αναφέρετε μερικούς τρόπους.
Ποιες άλλες μεθόδους του API Promise γνωρίζεις εκτός από το Promise.all;
Πού σε μια πραγματική εφαρμογή θα μπορούσε να είναι χρήσιμη η λειτουργία callLimit με τη δυνατότητα μηδενισμού του μετρητή;
Ποια είναι η διαφορά μεταξύ του ελέγχου 'key in result' και 'result.hasOwnProperty(key)'?
Γιατί ο χρόνος εκτέλεσης του sleep δεν είναι ακριβώς 1000 και 2000 χιλιοστά του δευτερολέπτου, αλλά λίγο περισσότερο; Τι επηρεάζει την καθυστέρηση;
Γιατί χρησιμοποιείται το Array.prototype.slice.call(arguments); Πώς λειτουργούν τα call και apply;
9. Αντιγραφή Κατά τη διάρκεια μιας εξέτασης, ο καθηγητής Floyd παρατήρησε ότι ορισμένοι φοιτητές ανταλλάσσουν σημειώσεις. Αρχικά, ήθελε να τους δώσει όλους βαθμό 2, αλλά ο καθηγητής ήταν ευγενικός και αποφάσισε να χωρίσει τους φοιτητές σε δύο ομάδες: αυτούς που επιτρέπουν την αντιγραφή και να δώσει μόνο στην πρώτη ομάδα βαθμό 2. Ο καθηγητής έχει καταγράψει όλα τα ζευγάρια φοιτητών που αντάλλαξαν σημειώσεις. Είναι απαραίτητο να καθοριστεί αν μπορεί να χωρίσει τους φοιτητές σε δύο ομάδες έτσι ώστε κάθε ανταλλαγή σημειώσεων να πραγματοποιείται από φοιτητή μιας ομάδας σε φοιτητή της άλλης ομάδας. Μορφή εισόδου Στην πρώτη γραμμή βρίσκονται δύο αριθμοί N και M — ο αριθμός των φοιτητών και ο αριθμός των ζευγαριών φοιτητών που αντάλλαξαν σημειώσεις (1 ≤ N ≤ 10^2, 0 ≤ M ≤ N(N-1)/2). Στη συνέχεια, σε M γραμμές, περιγράφονται τα ζευγάρια φοιτητών: δύο αριθμοί που αντιστοιχούν στους αριθμούς των φοιτητών που αντάλλαξαν σημειώσεις (η αρίθμηση των φοιτητών ξεκινά από 1, κάθε ζευγάρι φοιτητών αναγράφεται όχι περισσότερο από μία φορά). Μορφή εξόδου Πρέπει να εκτυπωθεί η απάντηση στην εργασία του καθηγητή Floyd. Αν είναι δυνατό να χωρίσει τους φοιτητές σε δύο ομάδες, εκτυπώστε YES; διαφορετικά, NO.
[όνομα] ρώτησε: Σε περίπτωση παράλληλης ανάπτυξης, οι εκτελεστές διευκρίνισαν οι ίδιοι τα συμβόλαια;
Ορίστε αν μια συμβολοσειρά είναι 'πανγράμμα' — μια συμβολοσειρά που περιέχει κάθε γράμμα του αλφαβήτου τουλάχιστον μία φορά.
/** * Υλοποιήστε τη συνάρτηση isMonotonic, η οποία λαμβάνει * έναν πίνακα αριθμών και καθορίζει αν είναι * μονοτονικός (μη αυξανόμενος ή μη φθίνων). * * @param {Array<number>} numbers - πίνακας αριθμών * @return {boolean} - true αν ο πίνακας είναι μονοτονικός, διαφορετικά false */ function isMonotonic(numbers) { // ο κώδικάς σας εδώ }
Πες μου για το τρέχον μέρος εργασίας σου και το έργο
Ξαναγράψτε τη συνάρτηση strjoin σε ES5 χωρίς τον τελεστή rest
Γιατί μπορεί να χρειαστεί η μέθοδος apply στη λύση runOnce;