Зависит от проекта, но я бы советовал ознакомится с подобными инструментами...
https://lodash.com
С этим инструментом код получится примерно такой:
var elements = [];
_.each(arr[0], (el)=>{
let filteredElements = _.filter(el.names[0], (element)=> element.name === "Петя"; );
if(filteredElements.length){
elements = _.union(filteredElements, elements);
}
})
console.log(elements);
И пересмотри свою структуру массива... зачем тебе массив в котором объект?))