Есть ли способ получить свойства объектов, хранящихся в массиве в JavaScript? - PullRequest
1 голос
/ 24 марта 2020

Я брал ввод из текстового поля html и сохранял значения в объекте с несколькими свойствами. Есть 2 функции addAddress и displayAddressDetails код функции ниже addAddress для добавления data и displayAddress предназначен для отображения. Я не могу отобразить данные для различных объектов.

var AddressArray=[];
var l=0;

Добавление адреса в массив объектов и очистка входных данных в html текстовое поле

    function addAddress()
    {
      let address = {
         name:document.getElementById("name").value,
         doorNumber:document.getElementById("doorNumber").value,
         streetName:document.getElementById("streetName").value,
         city:document.getElementById("city").value,
         state:document.getElementById("state").value,
        country:document.getElementById("country").value
     };
     //Pushing objects in array
     AddressArray.push(address);

    address={};

    document.getElementById("name").value="";
    document.getElementById("doorNumber").value="";
    document.getElementById("streetName").value="";
    document.getElementById("city").value="";
    document.getElementById("state").value="";
    document.getElementById("country").value="";
    console.log(AddressArray);
    l++;
   }

Теперь я хочу, чтобы при нажатии кнопки в HTML отображались все данные, хранящиеся в массиве объектов Отображение адреса при нажатии кнопки

function displayAddressDetails()
{
  for(let i=0;i<=l;i++)
   {
     for(let item in AddressArray[i])
         console.log(valueOf(item));
   }
}

1 Ответ

2 голосов
/ 24 марта 2020

Используйте Object.entries() для перебора свойств объекта:

function displayAddressDetails()
{
  for (const item of AddressArray) {
    for (const [key, value] of Object.entries(item)) {
      // do your magic here
    }
  }
}

Для отображения отдельной записи:

for (const [key, value] of Object.entries(item)) {
  document.getElementById(key).value = value;
}
...