I’m new to javascript and still learning them.
So I was building a project where I want to display a multiple object, which I put it in an array, to the DOM. I am not sure what method to use to access the object inside the array.
<div class="container"> <div class="hero"> <h2>List of Names</h2> </div> <ul class="name-list"></ul> </div>
This is my js file:
const nameList = document.querySelector('.name-list'); //List of Names const john = { name: 'john', car: 'fiat', address: 'new york' } const mike = { name: 'mike', car: 'toyota', address: 'sydney' } const greg = { name: 'greg', car: 'nissan', address: 'melbourne' } //Store list of names in an array const allNames = [ john, mike, greg ] function displayName (){ //Not sure what methods to use to return ` <li> <p>Name: ${allNames.name}</p> <p>Car: ${allNames.car}</p> <p>Address: ${allNames.address}</p> </li> ` }
So I kind of want to display all the objects in the DOM. Is it necessary to put the objects in the array first? What methods do I use to return a list in the file? Or do you know any easier methods to display all the objects in the DOM?
Thank you so much for the help.
Advertisement
Answer
Maybe you can try something like this :
function showNameList() { const allNames = [ { name: 'john', car: 'fiat', address: 'new york' }, { name: 'mike', car: 'toyota', address: 'sydney' }, { name: 'greg', car: 'nissan', address: 'melbourne' } ] var namelist = allNames.map(function (t, i) { return `<b>Name : </b> ${t.name}<br/><b>Car : </b> ${t.car}<br/><b>Address : </b> ${t.address}<br/><br/>`; }) document.getElementById('name-list').innerHTML = '<li>' + namelist.join('</li><li>') + '</li>' } showNameList()
<div class="container"> <div class="hero"> <h2>List of Names</h2> </div> <ul id="name-list"></ul> </div>