Думайте о массиве как об объекте. Доступ к нему осуществляется аналогичным образом, поэтому, если бы это был объект, он бы выглядел следующим образом:
let array1 = {
0: {
"name":"test",
"things": [
{ "name": "thing1" },
{ "name": "thing2" }
]
}
};
Поэтому для непосредственного доступа к его первому элементу необходимо:
array1[0].things
Чтобы получить Для желаемого результата вам необходимо следующее:
let array1 = [
{
"name": "test",
"things": [
{ "name": "thing1" },
{ "name": "thing2" }
]
}
];
const createThingy = (item) => `
<p>${item.name}</p>
`;
// pass a function to map
const map1 = array1[0].things.map(createThingy).join('');
console.log(map1);
Если в вашем массиве может быть несколько элементов, вы можете использовать следующее:
let array1 = [
{
"name": "test",
"things": [
{ "name": "thing1" },
{ "name": "thing2" }
]
}
];
const createThingy = (item) => `
<p>${item.name}</p>
`;
// pass a function to map
const map1 = array1.reduce((acc, elem) => acc + elem.things.map(createThingy).join(''), "");
console.log(map1);