Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取嵌套数组中特定键的每个值的总数_Javascript_Arrays_Angularjs - Fatal编程技术网

Javascript 获取嵌套数组中特定键的每个值的总数

Javascript 获取嵌套数组中特定键的每个值的总数,javascript,arrays,angularjs,Javascript,Arrays,Angularjs,数组: [ { id: 1, title: "Test 1", eventTypeId: 2, eventType: { id: 2, name: "Event X", category: { id: 1, name: "Study 1" } }

数组

[
    {
        id: 1,
        title: "Test 1",
        eventTypeId: 2,
        eventType: {
            id: 2,
            name: "Event X",
            category: {
                id: 1, 
                name: "Study 1"
            }
        }
    },
    {
        id: 2,   
        title: "Test 2",
        eventTypeId: 2,
        eventType: {
            id: 2,
            name: "Event Y",
            category: {
                id: 1,
                name: "Study 2"
            }
        }
    },
    {
        id: 3,
        title: "Test 3",
        eventTypeId: 2,      
        eventType: {
            id: 2,
            name: "Event Z",
            category: {
                id: 2,
                name: "Study 1"
            }
        }
    }
];
数据来自
API
请求,在success
函数中
我将响应归因于
$scope.initialDataLength
,如下所示:

var getDataLength = function () {
    $http.get(urlData).success(function (data) {
       $scope.initialDataLength = data;
    }
}
查看

<td class="col-md-2">
   {{ initialDataLength.length }}
</td>
但它向我显示了以下错误:

无法读取未定义的属性“length”


谁能解释一下,我的错误在哪里?

您不需要内部的
forEach()
。您已经有了对象引用,只需要访问该对象的属性

angular.forEach (data, function (typeId) {

    console.log(typeId.eventType.category.name)

});

您不需要内部的
forEach()
。您已经有了对象引用,只需要访问该对象的属性

angular.forEach (data, function (typeId) {

    console.log(typeId.eventType.category.name)

});

@安东如果我是你,我会进行验证,以测试
类别!==未定义
,或者如果类别为空对象,您将遇到一些问题。只是一个建议。@Anton如果我是你,我会进行验证,以测试
类别!==未定义
,或者如果类别为空对象,您将遇到一些问题。只是一个建议。。