Στη JavaScript, ο πίνακας είναι μια δομή που μοιάζει με λίστα, χωρίς σταθερό μήκος, και μπορεί να περιέχει οποιονδήποτε τύπο πρωτογενών τιμών ή αντικειμένων, ακόμη και μικτούς τύπους.
Για να δημιουργήσεις έναν πίνακα, βάλε στοιχεία ανάμεσα σε αγκύλες [].
Για να διαβάσεις από τον πίνακα, βάλε τη θέση μέσα σε αγκύλες [] μετά το αναγνωριστικό.
Οι θέσεις ενός πίνακα ξεκινούν από το μηδέν.
Για παράδειγμα:
const numbers = [1, 'two', 3, 'four'];
numbers[2];
// => 3
Για να βρεις τον αριθμό των στοιχείων που υπάρχουν σε έναν πίνακα, χρησιμοποίησε την ιδιότητα length:
const numbers = [1, 'two', 3, 'four'];
numbers.length;
// => 4
Για να αλλάξεις ένα στοιχείο στον πίνακα, αντιστοιχίζεις μια τιμή στη θέση:
const numbers = [1, 'two', 3, 'four'];
numbers[0] = 'one';
numbers;
// => ['one', 'two', 3, 'four']
Μερικές από τις μεθόδους που είναι διαθέσιμες σε κάθε αντικείμενο Array μπορούν να χρησιμοποιηθούν για να προσθέσεις ή να αφαιρέσεις στοιχεία από τον πίνακα. Ορίστε μερικές που αξίζει να έχεις υπόψη σου όταν δουλεύεις αυτή την άσκηση:
Μπορείς να προσθέσεις μια value στο τέλος ενός πίνακα χρησιμοποιώντας το .push(value).
Η μέθοδος επιστρέφει το νέο μήκος του πίνακα.
const numbers = [1, 'two', 3, 'four'];
numbers.push(5); // => 5
numbers;
// => [1, 'two', 3, 'four', 5]
Μπορείς να αφαιρέσεις την τελευταία value από έναν πίνακα χρησιμοποιώντας το .pop().
Η μέθοδος επιστρέφει την τιμή που αφαιρέθηκε.
Το μήκος του πίνακα θα μειωθεί εξαιτίας αυτής της αλλαγής.
const numbers = [1, 'two', 3, 'four'];
numbers.pop(); // => four
numbers;
// => [1, 'two', 3]
Μπορείς να αφαιρέσεις την πρώτη value από έναν πίνακα χρησιμοποιώντας το .shift().
Η μέθοδος επιστρέφει την τιμή που αφαιρέθηκε.
Το μήκος του πίνακα θα μειωθεί εξαιτίας αυτής της αλλαγής.
const numbers = [1, 'two', 3, 'four'];
numbers.shift(); // => 1
numbers;
// => ['two', 3, 'four']
Μπορείς να προσθέσεις μια value στην αρχή ενός πίνακα χρησιμοποιώντας το .unshift(value).
Η μέθοδος επιστρέφει το νέο μήκος του πίνακα.
const numbers = [1, 'two', 3, 'four'];
numbers.unshift('one'); // => 5
numbers;
// => ['one', 1, 'two', 3, 'four']
Μπορείς να αφαιρέσεις μια value στη θέση index από έναν πίνακα χρησιμοποιώντας το .splice(index, 1).
Η μέθοδος επιστρέφει το στοιχείο ή τα στοιχεία που αφαιρέθηκαν.
const numbers = [1, 'two', 3, 'four'];
numbers.splice(2, 1, 'one'); // => [3]
numbers;
// => [1, 'two', 'one', 'four']
Αυτές οι μέθοδοι είναι πιο ισχυρές από ό,τι περιγράφεται:
push όσο και η unshift σου επιτρέπουν να προσθέσεις πολλές τιμές ταυτόχρονα, δίνοντας περισσότερα ορίσματα.
Αυτό δεν είναι απαραίτητο για να ολοκληρώσεις αυτή την άσκηση.deleteCount.
Αυτό μπορεί να χρησιμοποιηθεί για να αντικαταστήσεις τιμές ή να εισάγεις τιμές στη μέση ενός πίνακα (για παράδειγμα, αφαιρώντας 0 στοιχεία).
Αυτό δεν είναι απαραίτητο για να ολοκληρώσεις αυτή την άσκηση.Ως μελλοντική μάγισσα, η Elyse πρέπει να εξασκηθεί στα βασικά. Έχει μια στοίβα φύλλα που θέλει να χειριστεί.
Για να γίνουν τα πράγματα λίγο πιο απλά, χρησιμοποιεί μόνο τα φύλλα 1 έως 10, ώστε η στοίβα της να μπορεί να αναπαρασταθεί με έναν πίνακα αριθμών. Η θέση ενός συγκεκριμένου φύλλου αντιστοιχεί στη θέση του μέσα στον πίνακα. Αυτό σημαίνει ότι η θέση 0 αντιστοιχεί στο πρώτο φύλλο, η θέση 1 στο δεύτερο φύλλο κ.ο.κ.
Όλες οι συναρτήσεις εκτός από δύο πρέπει να ενημερώνουν τον πίνακα με τα φύλλα και μετά να επιστρέφουν τον τροποποιημένο πίνακα, ένας συνηθισμένος τρόπος εργασίας γνωστός ως μοτίβο Builder, που σου επιτρέπει να συνδέεις ωραία τις συναρτήσεις μεταξύ τους σαν αλυσίδα.
Οι δύο εξαιρέσεις είναι η getItem, που πρέπει να επιστρέφει το φύλλο στη θέση που δίνεται, και η checkSizeOfStack, που πρέπει να επιστρέφει true αν το μέγεθος που δίνεται ταιριάζει.
Για να πάρεις ένα φύλλο, επέστρεψε το φύλλο στη θέση position από τη στοίβα που δίνεται.
const position = 2;
getItem([1, 2, 4, 1], position);
// => 4
Κάνε ένα ταχυδακτυλουργικό κόλπο και αντάλλαξε το φύλλο στη θέση position με το φύλλο αντικατάστασης που δίνεται.
Επέστρεψε την τροποποιημένη στοίβα.
const position = 2;
const replacementCard = 6;
setItem([1, 2, 4, 1], position, replacementCard);
// => [1, 2, 6, 1]
Κάνε ένα φύλλο να εμφανιστεί βάζοντας ένα νέο φύλλο στην κορυφή της στοίβας. Επέστρεψε την τροποποιημένη στοίβα.
const newCard = 8;
insertItemAtTop([5, 9, 7, 1], newCard);
// => [5, 9, 7, 1, 8]
Κάνε ένα φύλλο να εξαφανιστεί αφαιρώντας από τη στοίβα το φύλλο στη θέση position που δίνεται.
Επέστρεψε την τροποποιημένη στοίβα.
const position = 2;
removeItem([3, 2, 6, 4, 8], position);
// => [3, 2, 4, 8]
Κάνε ένα φύλλο να εξαφανιστεί αφαιρώντας το φύλλο στην κορυφή της στοίβας. Επέστρεψε την τροποποιημένη στοίβα.
removeItemFromTop([3, 2, 6, 4, 8]);
// => [3, 2, 6, 4]
Κάνε ένα φύλλο να εμφανιστεί βάζοντας ένα νέο φύλλο στον πάτο της στοίβας. Επέστρεψε την τροποποιημένη στοίβα.
const newCard = 8;
insertItemAtBottom([5, 9, 7, 1], newCard);
// => [8, 5, 9, 7, 1]
Κάνε ένα φύλλο να εξαφανιστεί αφαιρώντας το φύλλο στον πάτο της στοίβας. Επέστρεψε την τροποποιημένη στοίβα.
removeItemAtBottom([8, 5, 9, 7, 1]);
// => [5, 9, 7, 1]
Έλεγξε αν το μέγεθος της στοίβας είναι ίσο με stackSize ή όχι.
const stackSize = 4;
checkSizeOfStack([3, 2, 6, 4, 8], stackSize);
// => false
Γράψου στο Exercism για να μάθεις και να κατακτήσεις JavaScript με 37 έννοιες159 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.