带有JSON数据的AngularJS多维数组

Tec*_*wyn 4 javascript arrays json multidimensional-array angularjs

我正在尝试创建一个包含6个JSON响应的多维数组.我一直在寻找其他人的帮助:角度的多维数组

但是当我测试我的控制台日志中的多维数组时,我得到输出"Stat array:undefined",只调用整个数组的这个索引返回[object Object].

$scope.pokeArray = new Array(11);
        $http.get("http://pokeapi.co/api/v2/pokemon/"+searchedName +".json")
            .success(function (response)
                {
                    //Get first form FORMS array, assign name
                    $scope.pokeArray[0]  = response.forms[0].name;
                    //13 ID
                    $scope.pokeArray[1]  = response.id;
                    //10 Height
                    $scope.pokeArray[2]  = response.height;
                    //7 Sprites
                    $scope.pokeArray[3]  = response.sprites.front_default;
                    $scope.pokeArray[4]  = response.sprites.front_shiny;
                    //3 Stats 5-11
                    //Speed
                    $scope.pokeArray[5]  =  response.stats[1].base_stat;

                    //Index 6 = Array of 6
                    $scope.pokeArray[6] = [
                        {
                            speed    : response.stats[0].base_stat,
                            spDefense: response.stats[1].base_stat,
                            spAttack : response.stats[2].base_stat,
                            defense  : response.stats[3].base_stat,
                            attack   : response.stats[4].base_stat,
                            hp       : response.stats[5].base_stat
                        }];

                    console.log("Name: "  + response.forms[0].name);
                    console.log("Height: "+ response.height);
                    console.log("ID: "    + response.id);
                    console.log("Array: " + $scope.pokeArray);
                    console.log("speed: " + response.stats[1].base_stat);
                    console.log("Stat array: " + $scope.pokeArray[6].speed);
                }
            );
    }
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我的前5个数组都包含直接响应,这很好用,我用我的控制台日志测试了它,并且我在html视图中使用了这些信息.

目前,最后一个控制台日志返回"Stat array:undefined".也许,我应该采用不同的方式在mutlidemensional数组中做我的反应,但我不确定,我想也许,如果我试图使用[6] [0]来获得可行的速度?但这会导致错误.

如果有人能告诉我它是否是我的阵列,或者是导致问题的JSON处理,那真的会帮助我.谢谢.

Ami*_*mit 5

您正在创建一个数组而不是创建一个对象,请执行以下操作:

$scope.pokeArray[6] = {
    speed    : response.stats[0].base_stat,
    spDefense: response.stats[1].base_stat,
    spAttack : response.stats[2].base_stat,
    defense  : response.stats[3].base_stat,
    attack   : response.stats[4].base_stat,
    hp       : response.stats[5].base_stat
};
Run Code Online (Sandbox Code Playgroud)