Ну что тут сложного? У нас есть массив lot
var lot
есть парочка объектов
var chevy = {
make : "Chevy" ,
model : "Bel Air"
} ;
var taxi = {
make : "Webville Motors" ,
model : "Taxi"
} ;
var fiat1 = {
make : "fiat" ,
model : "500"
} ;
var fiat2 = {
make : "fiat" ,
model : "500"
} ;
мы берем и копируем
ссылки на них в массив и присваиваем его lot
var lot = [chevy , taxi , fiat1 , fiat2]
есть у нас магическая функция findCarInLot, с помощью которой мы находим индекс машины в массиве
var loc1 = findCarInLot(fiat2) ; // Результат 3
var loc2 = findCarInLot(taxi) ; // Результат 1
var loc3 = findCarInLot(chevy) ; // Результат 0
var loc4 = findCarInLot(fiat1) ; // Результат 2
Магическая функция работает так:
в параметры нам передают машину
function findCarInLot (car) {
...
}
потом мы запускаем цикл по lot
...
for (var i = 0 ; i < lot.length ; i ++) {
...
}
...
в цикле,
lot[i]
указывает на текущий элемент
а мы его сравниваем с переданной нам машиной
...
if ( car === lot[i] ) {
...
}
...
Если они совпадают, мы прерываем функцию, возвращая индекс -
return i;
если же весь цикл выполнился и не прервался, то мы возвращаем -1 -
return -1;