I cannot access the elements of the array. I have not put the whole code because it is too long but I explain what I have done.
I have an array results of the following type:
results [i] = myArr.Items [i]
or so done:
{3: {...}, 4: {...}, 9: {...}}
3: {type: 'Image', id_a: '123456', value: 'moto_guzzi_v100_mandello.jpg', number: 3, id: 3}
4: {type: 'Text', id_a: '123456', value: 'The star of the Piaggio group stand is without doubt ... Discover all her secrets with our video', number: 2, id: 2}
9: {type: 'Text', id_a: '123456', value: 'The V100 Mandello celebrates the 100th anniversary of the house and… ovative. Let's find out together with our video. ', Number: 4, id: 4}
and I’m trying to recover the items as shown in the code below:
Object.entries(results).forEach(function (item) {
let child = document.createElement("tr");
child.innerHTML = `
<td>${item.number}</td>
<td>${item.type}</td>
<td>${item.value}</td>
table.appendChild(child);
})
<table id="my-table" width="90%">
<tr>
<th>Number</th>
<th>Type</th>
<th>Value</th>
</tr>
</table>
I just get the value undefined for each value.
Can anyone kindly explain to me the correct way to access these values?
>Solution :
Object.entries() makes your object list iterable, but if you console.log each item you’ll see its an array with 2 entries – the index (0) and the data (1)
let results = {
3: {
type: 'Image',
id_a: '123456',
value: 'moto_guzzi_v100_mandello.jpg',
number: 3,
id: 3
},
5: {
type: 'Text',
id_a: '123456',
value: 'The star of the Piaggio group stand is without doubt ... Discover all her secrets with our video',
number: 2,
id: 2
},
8: {
type: 'Text',
id_a: '123456',
value: 'The V100 Mandello celebrates the 100th anniversary of the house and… ovative. Let\'s find out together with our video. ',
Number: 4,
id: 4
}
};
Object.entries(results).forEach(item => {
item = item[1];
let child = document.createElement("tr");
child.innerHTML = `
<td>${item.number}</td>
<td>${item.type}</td>
<td>${item.value}</td>`
document.querySelector('#my-table').appendChild(child);
})
<table id="my-table" width="90%" border='1'>
<tr>
<th>Number</th>
<th>Type</th>
<th>Value</th>
</tr>
</table>