397 Stimmen

Hinzufügen eines Objekts zu einem Array

Wie kann ich hinzufügen ein Objekt in ein Array (in javascript oder jquery)? Zum Beispiel, was ist das Problem mit diesem Code?

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

Ich möchte diesen Code verwenden, um viele Objekte im Array von function1 zu speichern und function2 aufzurufen, um das Objekt im Array zu verwenden.

  1. Wie kann ich ein Objekt in einem Array speichern?
  2. Wie kann ich ein Objekt in ein Array einfügen und es in einer Variablen speichern?

19voto

antelove Punkte 2552
/* array literal */
var aData = [];

/* object constructur */
function Person(firstname, lastname) {
  this.firstname = firstname;
  this.lastname = lastname;
  this.fullname = function() {
    // return (this.firstname + " " + this.lastname);
    return (`${this.firstname} ${this.lastname}`); // es6 template string
  };
}

/* store object into array */
aData[aData.length] = new Person("Java", "Script"); // aData[0]

aData.push(new Person("John", "Doe"));
aData.push(new Person("Anna", "Smith"));
aData.push(new Person("Black", "Pearl"));

aData[aData.length] = new Person("stack", "overflow"); // aData[4]

/* loop array */
for (var i in aData) {
  alert(aData[i].fullname());
}

/* convert array of object into string json */
var jsonString = JSON.stringify(aData);
document.write(jsonString);

Objekt in Array schieben

15voto

MJ X Punkte 7378

Mit push können Sie sogar mehrere Objekte zu einem Array hinzufügen

  let myArray = [];

   myArray.push(
              {name:"James", dataType:TYPES.VarChar, Value: body.Name},
              {name:"Boo", dataType:TYPES.VarChar, Value: body.Name},
              {name:"Alina", dataType:TYPES.VarChar, Value: body.Name}
             );

12voto

Salih ŞEKER Punkte 149

Sie können mit dem Spread-Operator (...) wie folgt arbeiten:

let arr = [{num: 1, char: "a"}, {num: 2, char: "b"}];

arr = [...arr,{num: 3, char: "c"}];

//...arr --> spread operator
console.log(arr);

10voto

Sam Punkte 4327

Erweiterung der Antwort von Gabi Purcaru um eine Antwort auf Nummer 2.

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

var c = a[0]; // c is now the object we inserted into a...

8voto

Raynos Punkte 162170

obejct ist eindeutig ein Tippfehler. Aber beide object y array brauchen Großbuchstaben.

Sie können kurze Hände verwenden für new Array y new Object diese sind [] y {}

Sie können Daten in das Array schieben, indem Sie .push . Dadurch wird es an das Ende des Arrays angehängt. oder Sie können einen Index setzen, der die Daten enthält.

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

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

other();

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X