Πώς να προσθέσετε ένα αντικείμενο σε έναν πίνακα

Πώς μπορώ να προσθέσω ένα αντικείμενο σε έναν πίνακα (σε javascript ή jquery); Για παράδειγμα, ποιο είναι το πρόβλημα με αυτόν τον κώδικα;

function(){
    var a = new array();
    var b = new object();
    a[0]=b;
}

Θα ήθελα να χρησιμοποιήσω αυτόν τον κώδικα για να αποθηκεύσω πολλά αντικείμενα στον πίνακα της συνάρτησης1 και να καλέσω τη συνάρτηση2 για να χρησιμοποιήσω το αντικείμενο στον πίνακα.

  1. Πώς μπορώ να αποθηκεύσω ένα αντικείμενο σε έναν πίνακα;
  2. Πώς μπορώ να τοποθετήσω ένα αντικείμενο σε έναν πίνακα και να το αποθηκεύσω σε μια μεταβλητή;

Τοποθετήστε οτιδήποτε σε έναν πίνακα χρησιμοποιώντας την Array.push().

var a=[], b={};
a.push(b);    
// a[0] === b;

Επιπλέον πληροφορίες για τους πίνακες

Προσθέστε περισσότερα από ένα στοιχεία κάθε φορά

var x = ['a'];
x.push('b', 'c');
// x = ['a', 'b', 'c']

Προσθήκη στοιχείων στην αρχή ενός πίνακα

var x = ['c', 'd'];
x.unshift('a', 'b');
// x = ['a', 'b', 'c', 'd']

Προσθήκη των περιεχομένων ενός πίνακα σε έναν άλλο

var x = ['a', 'b', 'c'];
var y = ['d', 'e', 'f'];
x.push.apply(x, y);
// x = ['a', 'b', 'c', 'd', 'e', 'f']
// y = ['d', 'e', 'f']  (remains unchanged)

Δημιουργία νέου πίνακα από τα περιεχόμενα δύο πινάκων

var x = ['a', 'b', 'c'];
var y = ['d', 'e', 'f'];
var z = x.concat(y);
// x = ['a', 'b', 'c']  (remains unchanged)
// y = ['d', 'e', 'f']  (remains unchanged)
// z = ['a', 'b', 'c', 'd', 'e', 'f']
Σχόλια (2)

Πρώτα απ' όλα, δεν υπάρχει object ή array. Υπάρχουν Αντικείμενο και Συστοιχία. Δεύτερον, μπορείτε να το κάνετε αυτό:

a = new Array();
b = new Object();
a[0] = b;

Τώρα το a θα είναι ένας πίνακας με μοναδικό στοιχείο το b.

Σχόλια (1)

Το obejct είναι σαφώς τυπογραφικό λάθος. Αλλά τόσο το object όσο και το array χρειάζονται κεφαλαία γράμματα.

Μπορείτε να χρησιμοποιήσετε σύντομους χαρακτήρες για new Array και new Object αυτοί είναι [] και {}.

Μπορείτε να σπρώξετε δεδομένα στον πίνακα χρησιμοποιώντας το .push. Αυτό το προσθέτει στο τέλος του πίνακα. ή μπορείτε να ορίσετε ένα δείκτη που θα περιέχει τα δεδομένα.

function saveToArray() {
    var o = {};
    o.foo = 42;
    var arr = [];
    arr.push(o);
    return arr;
}

function other() {
    var arr = saveToArray();
    alert(arr[0]);
}

other();
Σχόλια (1)