var arr = [{name:'Петя', id: 45},{name:'Петя', id: 123},{name:'Игорь', id: 6542},{name:'Коля', id: 5},{name:'Вася', id: 2}]
var index, search = 5;
for( var i=0;i<arr.length;i++) if( arr[i].id === search) { index = i; break; }
// В переменной index либо по-прежнему undefined, либо индекс искомого элемента
console.log( "Индекс " + (index === undefined ? 'не найден' : index));
// Индекс 3
Upd. не самый удачный вариант
Максим можно улучшить через
.some()
:
var found, search = 5;
arr.some(function (el, index) {
if( el.id !== search) return;
found = index;
return true;
});