Also, Sie haben ein Array mit 2 Elementen.
extras = [
{key: value},
[object0, object1, object2],
]
Wie Sie das erste Element in Ihrem Extra Array sehen können, ist ein Objekt und das Objekt hat die key: optionName
mit einem value: Drinks
. Wenn Sie also
console.log(extras[0].optionName);
aufrufen, wird der Wert von Drinks zurückgegeben.
Dann geht Ihre Schleife weiter zum nächsten Element im Array und sucht nach einem key: optionName
, aber da Ihr zweites Array-Element ein Array ist, kann es den Schlüssel nicht finden und gibt undefined zurück. Da ich nicht weiß, was in den Objekten von extra[1]
enthalten ist, kann ich keine Ratschläge zum Umschreiben Ihrer Schleife geben, aber oben ist die Erklärung dafür, warum Sie undefined
erhalten.
Sie können einfach eine if
Bedingung hinzufügen undefinierte Werte filtern:
if (extras[0].optionName) {
console.log(extras[0].optionName);
}
als undefiniert ist ein falsy
Wert in JS, zu jeder Zeit, die Sie tatsächlich einen Wert nicht dort haben, wird es nicht einfach in die bewegen if
Aussage.
Wenn Sie möchten, dass dies in der Schleife funktioniert, ersetzen Sie die [0]
durch [i]
.
Können Sie Ihr ** Extras ** Objekt teilen? –
@AlaEddineJEBALI Es ist das auf dem Bild, Array [2] –
ja ich sehe, aber in der Lage sein, das Problem mit Ihnen zu überprüfen, müssen wir sehen, dass das * extra * -Objekt in JSON Antwort –