Можете использовать эту функцию для вывода массива с значениями указанного поля.
По идее должно работать с любой вложенностью (многомерностью).
obj - массив или объект в котором нужно найти значения
fieldName - название поля в строковом формате значения которого нужно собрать
пример запуска
console.log(picker(arr, 'name'))
Вывод для массива представленного автором будем таким -
[ 'Petya', 'Ira', 'Andriy' ]
const picker = (obj, fieldName) => {
const result = []
const collectItems = (obj, fieldName) => {
if ((typeof obj !== 'object') && (!Array.isArray(obj))) {
return result
}
if (Array.isArray(obj)) {
obj.forEach(el => {
collectItems(el, fieldName)
})
}
if ((typeof obj === 'object') && (!Array.isArray(obj))) {
for (let key in obj) {
if (key === fieldName) {
result.push(obj[key])
}
if ((typeof obj[key] === 'object') || (Array.isArray(obj[key]))) {
collectItems(obj[key], fieldName)
}
}
}
}
collectItems(obj, fieldName)
return result
}