Ich weiß, es ist einfach, aber ich verstehe es nicht.
Ich habe diesen Code:
// My object
const nieto = {
label: "Title",
value: "Ramones"
}
let nietos = [];
nietos.push(nieto.label);
nietos.push(nieto.value);
Wenn ich das mache, bekomme ich ein einfaches Array:
["Title", "Ramones"]
Folgendes muss ich erstellen:
[{"01":"Title", "02": "Ramones"}]
Wie kann ich verwenden push() um das Objekt in die hinzuzufügen nietos Anordnung?
"02": "Ramones" Ich nehme an? Warum in diesem Fall das Array? Klingt, als wollten Sie ein einfaches Objekt konstruieren
– Madaras Geist
25. Oktober 2016 um 21:37 Uhr
Bearbeitet, ja, sorry. Ich werde dieses Array mit einer anderen Funktion verwenden, um eine XML-Datei zu erstellen. Große Geschichte.
– pmiranda
25. Oktober 2016 um 21:41 Uhr
Das Array hat also immer genau ein Element? Das nummerierte Objekt?
– Madaras Geist
25. Oktober 2016 um 21:43 Uhr
Nein, wird mehr Objekte haben: nietos = [{“01″:”Band”, “02”: “Ramones”}, {“01″:”Style”, “02”: “RockPunk”}, {“01”: “”, “02”: “”, “03” : “Another String”}] verschiedene Objekte mit unterschiedlichen Längen.
– pmiranda
25. Oktober 2016 um 21:47 Uhr
Sie müssen schaffen ein Objekt. Zuordnen die Werte zum Objekt. Dann schieben Sie es in das Array:
var nietos = [];
var obj = {};
obj["01"] = nieto.label;
obj["02"] = nieto.value;
nietos.push(obj);
Warum müssen Sie “01” als Schlüssel verwenden? Was wäre, wenn ich verwenden wollte nieto.label als Schlüssel?
– Amon
4. Februar um 18:22 Uhr
@Amon Also wirst du obj haben[nieto.label] = nieto.value;
– Kodfeuer
22. August um 6:39 Uhr
U.Shaba
Erstellen Sie ein Array von Objekten wie folgt:
var nietos = [];
nietos.push({"01": nieto.label, "02": nieto.value});
return nietos;
Zuerst erstellen Sie das Objekt innerhalb der Push-Methode und geben dann das neu erstellte Array zurück.
Warum müssen Sie “01” als Schlüssel verwenden? Was ist, wenn ich nieto.label als Schlüssel verwenden möchte?
– Amon
4. Februar um 18:22 Uhr
@Amon Ja, das kannst du, solange ‘neito.label’ eindeutig ist, kannst du das als Schlüssel verwenden. Aber gemäß den Anforderungen der Frage musste das Objekt in diesem Format vorliegen.
– U.Shaba
7. Februar um 16:08 Uhr
Benutzer889030
kann man auch so machen.
// our object array
let data_array = [];
// our object
let my_object = {};
// load data into object
my_object.name = "stack";
my_object.age = 20;
my_object.hair_color = "red";
my_object.eye_color = "green";
// push the object to Array
data_array.push(my_object);
Gas
Destrukturierende Zuweisung verwenden (ES6)
const nieto = {label: 'title', value: 'ramones' }
const modifiedObj = {01: nieto.label, 02: nieto.value}
let array = [
{03: 'asd', 04: 'asd'},
{05: 'asd', 06: 'asd'}
]
// push the modified object to the first index of the array
array = [modifiedObj, ...array]
console.log(array)
Wenn Sie das geänderte Objekt an den letzten Index des Arrays verschieben möchten, ändern Sie einfach das destrukturierte Array ...array Nach vorne.
array = [...array, modifiedObj]
Towkir
Brunnen, ["Title", "Ramones"] ist ein Array von Strings. Aber [{"01":"Title", "02", "Ramones"}] ist ein Array von Objekten.
Wenn Sie bereit sind, Eigenschaften oder Werte in ein Objekt zu schieben, müssen Sie auf dieses Objekt zugreifen und dann Daten hineinschieben. Beispiel: nietos[indexNumber].yourProperty=yourValue; in echter anwendung:
nietos[0].02 = "Ramones";
Wenn Ihr Objektarray bereits leer ist, stellen Sie sicher, dass es mindestens ein Objekt oder das Objekt enthält, in das Sie Daten übertragen möchten.
Nehmen wir an, unser Array ist myArray[], also ist dies jetzt ein leeres Array, die JS-Engine weiß nicht, welche Art von Daten sie hat, keine Zeichenfolge, kein Objekt, keine Zahl, nichts. Also werden wir ein Objekt (vielleicht ein leeres Objekt) in dieses Array schieben. myArray.push({})oder myArray.push({""}).
Dadurch wird ein leeres Objekt hineingeschoben myArray die eine Indexnummer haben 0also ist Ihr genaues Objekt jetzt myArray[0]
Dann drücken property und value so hinein:
myArray[0].property = value;
//in your case:
myArray[0]["01"] = "value";
Ich habe diesen Fehler: Parsing Error: Line 59: Unexpected number while parsing file. Diese Zeile lautet: nietos[0].02 = Wert;
– pmiranda
25. Oktober 2016 um 21:55 Uhr
Versuchen nietos[0]["02"] = "Ramones"; oder nietos[0][02] = "Ramones";
– Towkir
25. Oktober 2016 um 21:56 Uhr
Nein. Ich habe diesen Fehler “Eigenschaft ‘0’ kann nicht auf undefiniert gesetzt werden” erhalten. Code ist: var grandsons = []; Enkel[0][2] = Wert;
– pmiranda
26. Oktober 2016 um 12:56 Uhr
@pmirnd Antwort wurde aktualisiert, überprüfen Sie die letzte Hälfte der Antwort 🙂
– Towkir
26. Oktober 2016 um 16:25 Uhr
Legotin
Ich bin mir nicht ganz sicher, aber du kannst es so versuchen:
var pack = function( arr ) {
var length = arr.length,
result = {},
i;
for ( i = 0; i < length; i++ ) {
result[ ( i < 10 ? '0' : '' ) + ( i + 1 ) ] = arr[ i ];
}
return result;
};
pack( [ 'one', 'two', 'three' ] ); //{01: "one", 02: "two", 03: "three"}
Ich habe diesen Fehler: Parsing Error: Line 59: Unexpected number while parsing file. Diese Zeile lautet: nietos[0].02 = Wert;
– pmiranda
25. Oktober 2016 um 21:55 Uhr
Versuchen nietos[0]["02"] = "Ramones"; oder nietos[0][02] = "Ramones";
– Towkir
25. Oktober 2016 um 21:56 Uhr
Nein. Ich habe diesen Fehler “Eigenschaft ‘0’ kann nicht auf undefiniert gesetzt werden” erhalten. Code ist: var grandsons = []; Enkel[0][2] = Wert;
– pmiranda
26. Oktober 2016 um 12:56 Uhr
@pmirnd Antwort wurde aktualisiert, überprüfen Sie die letzte Hälfte der Antwort 🙂
– Towkir
26. Oktober 2016 um 16:25 Uhr
Die folgende Lösung ist einfacher. Alles, was Sie tun müssen, ist, eine einfache Funktion zu definieren, die das Objekt aus den beiden gegebenen Elementen “ERSTELLEN” kann. Wenden Sie diese Funktion dann einfach auf ZWEI Arrays mit Elementen an, für die Sie ein Objekt erstellen und in resultArray speichern möchten.
var arr1 = ['01','02','03'];
var arr2 = ['item-1','item-2','item-3'];
resultArray = [];
for (var j=0; j<arr1.length; j++) {
resultArray[j] = new makeArray(arr1[j], arr2[j]);
}
function makeArray(first,second) {
this.first = first;
this.second = second;
}
14345600cookie-checkWie kann ich ein Objekt in ein Array schieben?yes
"02": "Ramones"
Ich nehme an? Warum in diesem Fall das Array? Klingt, als wollten Sie ein einfaches Objekt konstruieren– Madaras Geist
25. Oktober 2016 um 21:37 Uhr
Bearbeitet, ja, sorry. Ich werde dieses Array mit einer anderen Funktion verwenden, um eine XML-Datei zu erstellen. Große Geschichte.
– pmiranda
25. Oktober 2016 um 21:41 Uhr
Das Array hat also immer genau ein Element? Das nummerierte Objekt?
– Madaras Geist
25. Oktober 2016 um 21:43 Uhr
Nein, wird mehr Objekte haben: nietos = [{“01″:”Band”, “02”: “Ramones”}, {“01″:”Style”, “02”: “RockPunk”}, {“01”: “”, “02”: “”, “03” : “Another String”}] verschiedene Objekte mit unterschiedlichen Längen.
– pmiranda
25. Oktober 2016 um 21:47 Uhr