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如果我是你,我会进行验证,以测试类别!==未定义
,或者如果类别为空对象,您将遇到一些问题。只是一个建议。。