Как хранить данные json на основе данных другого поля в разных массивах - PullRequest
0 голосов
/ 24 февраля 2020

У меня есть массив json, подобный этому.

[
  {
    "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"
  }
]

Я могу сохранить дату, используя этот фрагмент кода

if (data instanceof Array) {

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

Как хранить даты в двух массивах на основе при отсутствии и наличии условий. То есть, я хочу сохранить date_present в одном массиве и date_absent в другом массиве.

Ответы [ 3 ]

2 голосов
/ 24 февраля 2020

Использование функции карты для итерации и проверки состояния каждого элемента

var present = [];
    var absent = [];
    data.map(ele => {
      ele.status === "absent" ? absent.push(ele) : present.push(ele);
    });
0 голосов
/ 24 февраля 2020

Попробуй так:

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

date_present = data.filter(item => item.status ===  "present")
date_absent = data.filter(item => item.status ===  "absent")
0 голосов
/ 24 февраля 2020

Используйте forEach для l oop через массив и pu sh объект для разделения массивов

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)
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...