JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.4/angular.min.js"></script>
<div ng-app="myApp" ng-controller="carController">
    
    <select ng-options="value as desc for (desc, value) in carOptions" ng-model="currentObject.car"></select>
    

    <br />
    <br />
    car {{currentObject.car}} for index {{currentObject.index}}
    <br />
    <br />
    <button ng-click="loadFirst()">load first</button>
    <button ng-click="nextObject(currentObject.index)">next</button>
</div>

JavaScript

var myApp = angular.module('myApp', []);

myApp.controller('carController', [ '$scope', function ($scope) {
    
    $scope.carOptions = {
        "red car": 1,
        "blue car": 2,
        "green car": 3,
        "orange car": 4
    };
    
    $scope.myObjects = [];
    
    for (var i = 1; i < Object.keys($scope.carOptions).length + 1; i++) {
        $scope.myObjects.push(
            { 
                car: i, 
                index: i
            }
        );        
    }
    
    $scope.currentObject = {};
    
    $scope.loadFirst = function () {
        // Change this to load $scope.myObjects[0] to see the issue.
        $scope.currentObject = $scope.myObjects[0];    
    };
    
    $scope.nextObject = function (i) {
        $scope.currentObject = $scope.myObjects[i];
    };
}]);