Цикл по массивам внутри объекта - PullRequest
1 голос
/ 09 января 2020

В JavaScript возможно l oop через объект, используя метод Object.keys. С этим я могу l oop Объект person как:

  let person: {

    name:     "John",
    lastName: "Doe",
    age:       31,

  }

  for (let key of Object.keys(person)) {
     console.log(person[key])
  }

Теперь, как возможно сделать это, если person имеет массивы в качестве свойств?

 person: {

    name:     "John",
    lastName: "Doe",
    age:       31,    

    address: [{
     street:    "A Street Name",
     number:    190,
     apartment: 13
    }]

  }

Ответы [ 2 ]

2 голосов
/ 09 января 2020

Не очень понятно, что вы пытаетесь выполнить sh, но, исходя из вашего примера, вы можете повторить значения prop1, prop2, prop3:

let object = {
  array: [{
    prop1: 1,
    prop2: 2,
    prop3: 3
  }]
};

for (key in object.array[0])
  console.log(key, object.array[0][key]);
0 голосов
/ 09 января 2020

Попробуйте использовать Object.entries:

Object.entries(object).forEach(([k, v]) => {
    if (Array.isArray(v)) {
        let keys = Object.keys(...v);
        console.log(keys)
    }
});

Пример:

let object = {
    array: [
        {
     prop1: 1,
     prop2: 2,
     prop3: 3
    }]
  }

Object.entries(object).forEach(([k, v]) => {
    if (Array.isArray(v)) {
        let keys = Object.keys(...v);
        console.log(keys)
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...