Σε PHP, θα έκανα κάτι τέτοιο:
$array = array();
$array[] = "value1";
$array[] = "value2";
$array[] = "value3";
Πώς θα έκανα το ίδιο πράγμα σε JavaScript;
Δεν χρειάζεστε το jQuery για αυτό. Χρησιμοποιήστε κανονική javascript
var arr = new Array();
// or var arr = [];
arr.push('value1');
arr.push('value2');
Σημείωση: Στη javascript, μπορείτε επίσης να χρησιμοποιήσετε αντικείμενα ως συστοιχίες, αλλά εξακολουθείτε να έχετε πρόσβαση στα πρωτότυπα συστοιχιών. Αυτό κάνει το αντικείμενο να συμπεριφέρεται σαν συστοιχία:
var obj = new Object();
Array.prototype.push.call(obj, 'value');
θα δημιουργήσει ένα αντικείμενο που θα μοιάζει με:
{
0: 'value',
length: 1
}
Μπορείτε να προσπελάσετε τα vaules ακριβώς όπως έναν κανονικό πίνακα π.χ. obj[0]
.
Αυτό δεν έχει καμία σχέση με την jQuery, αλλά με την JavaScript γενικά.
Για να δημιουργήσετε έναν πίνακα σε JavaScript:
var a = [];
Ή:
var a = ['value1', 'value2', 'value3'];
Για να προσθέσετε τιμές στο τέλος του υπάρχοντος πίνακα:
a.push('value4');
Για να δημιουργήσετε έναν νέο πίνακα, θα πρέπει πραγματικά να χρησιμοποιήσετε []
αντί για new Array()
για τους ακόλουθους λόγους:
new Array(1, 2)
είναι ισοδύναμο με το [1, 2]
, αλλά το new Array(1)
δεν είναι ισοδύναμο με το [1]
. Μάλλον το τελευταίο είναι πιο κοντά στο [undefined]
, αφού ένα μόνο ακέραιο όρισμα στον κατασκευαστή Array
υποδεικνύει το επιθυμητό μήκος του πίνακα.Array
, όπως και κάθε άλλη ενσωματωμένη κλάση της JavaScript, δεν είναι λέξη-κλειδί. Επομένως, κάποιος θα μπορούσε εύκολα να ορίσει την Array
στον κώδικά σας για να κάνει κάτι άλλο από την κατασκευή ενός πίνακα.