Вопрос ясен, код примера не очень. Зачем объект с индексом для года? Не проще ли в value для option хранить год, а не его индекс?
У меня получился следующий код:
Контроллер:
function listYears(startYear) {
var currentYear = new Date().getFullYear();
var years = [];
startYear = startYear || 1980;
while (startYear <= currentYear) {
years.push(startYear++);
}
return years;
}
$scope.years = listYears(1950);
Шаблон:
<select>
<option ng-repeat="year in years" value="{{ $index }}">{{ year }}</option>
</select>