Как получить доступ к вложенному массиву и объектам в ответе http В angular - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть вложенная структура данных, содержащая объекты и массивы. Как я могу извлечь информацию, то есть указать параметры доступа c или несколько значений (или ключей)?

{
  "data": [
    {
      "id": 2,
      "addEmployee": {
        "firstName": "Devansh"
      },
      "attendances": [
        {
          "id": 3,
          "checkIn": "2020-02-18T04:36:45.000Z",
          "checkOut": "2020-02-18T11:46:16.000Z",
          "totalHours": "7:9",
          "date": "2020-02-18",
          "status": "present",
          "createdAt": "2020-02-18T04:36:45.000Z",
          "updatedAt": "2020-02-18T11:46:16.000Z",
          "userId": 2
        }
      ]
    }
  ]
}

как получить доступ к значению массива firstName и посещаемости

Ответы [ 3 ]

1 голос
/ 19 февраля 2020

Вы должны присваивать объект переменной, как здесь, я назначаю переменную val. Вы можете получить доступ к свойствам, как показано ниже. Вы можете запустить фрагмент здесь и посмотреть вывод

let val =  {
  "data": [
    {
      "id": 2,
      "addEmployee": {
        "firstName": "Devansh"
      },
      "attendances": [
        {
          "id": 3,
          "checkIn": "2020-02-18T04:36:45.000Z",
          "checkOut": "2020-02-18T11:46:16.000Z",
          "totalHours": "7:9",
          "date": "2020-02-18",
          "status": "present",
          "createdAt": "2020-02-18T04:36:45.000Z",
          "updatedAt": "2020-02-18T11:46:16.000Z",
          "userId": 2
        }
      ]
    }
  ]
}

val.data.forEach(eachData => { 
  console.log('Employee Name ---> ',eachData.addEmployee.firstName);
  eachData.attendances.forEach(atten => {
    console.log('attendance Object -->',atten);
  })
});
0 голосов
/ 19 февраля 2020

Используйте l oop вместо непосредственного использования значений индекса.

let data =[
    {
        "id": 2,
        "addEmployee": {
            "firstName": "Devansh"
        },
        "attendances": [
            {
                "id": 3,
                "checkIn": "2020-02-18T04:36:45.000Z",
                "checkOut": "2020-02-18T11:46:16.000Z",
                "totalHours": "7:9",
                "date": "2020-02-18",
                "status": "present",
                "createdAt": "2020-02-18T04:36:45.000Z",
                "updatedAt": "2020-02-18T11:46:16.000Z",
                "userId": 2
            }
        ]
    },
    ];


data.forEach(eachData => { 
 console.log(eachData.addEmployee.firstName);
  eachData.attendances.forEach(atten => {console.log(atten);})
});
0 голосов
/ 19 февраля 2020

Вы можете получить доступ к массиву данных объекта, затем к элементу массива по индексу и так далее, например:

let employee = myObject.data[0].addEmployee.firstName; // i suggest renaming the addEmployee attribute
let attendances = myObject.data[0].attendances[0]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...