Ich habe ein json-Array wie dieses.

[
  {
    "id": "1",
    "date": "2020-02-21",
    "status": "present",
    "studentid": "1"
  },
  {
    "id": "2",
    "date": "2020-02-24",
    "status": "present",
    "studentid": "1"
  },
  {
    "id": "3",
    "date": "2020-02-25",
    "status": "absent",
    "studentid": "1"
  },
  {
    "id": "4",
    "date": "2020-02-26",
    "status": "absent",
    "studentid": "1"
  }
]

Ich kann das Datum mithilfe dieses Codeausschnitts speichern

if (data instanceof Array) {

                  this.date=data.map(ele => ele.date);
              }

So speichern Sie die Daten in zwei Arrays basierend auf fehlenden und aktuellen Bedingungen. Das heißt, ich möchte date_present in einem Array und date_absent in einem anderen Array speichern.

0
midhunsivarajan 24 Feb. 2020 im 09:56

3 Antworten

Beste Antwort

Verwenden der Map-Funktion zum Iterieren und Überprüfen des Status jedes Elements

var present = [];
    var absent = [];
    data.map(ele => {
      ele.status === "absent" ? absent.push(ele) : present.push(ele);
    });
2
User965207 24 Feb. 2020 im 07:03

Verwenden Sie forEach, um das Array zu durchlaufen und das Objekt in separate Arrays zu verschieben

var date_present = [];
var date_absent = [];

data.forEach(ele => {
   if(ele.status ===  "present"){
    date_present.push(ele)
  }
   else if(ele.status ===  "absent"){
    date_absent.push(ele)
  }
});
0
Sachila Ranawaka 24 Feb. 2020 im 07:02

Versuchen Sie es wie folgt:

var date_present = [];
var date_absent = [];

date_present = data.filter(item => item.status ===  "present")
date_absent = data.filter(item => item.status ===  "absent")
0
Adrita Sharma 24 Feb. 2020 im 07:05