gpt4 book ai didi

angularjs - JSON(嵌套结构)中的长度检测 - Angular View

转载 作者:行者123 更新时间:2023-12-04 07:40:53 25 4
gpt4 key购买 nike

示例 JSON 结构

{
"holding": [
{
"company": 1,
"employee": [
{ "id": 1, "name": "John"},
{ "id": 2, "name": "Michael"},
{ "id": 3, "name": "George"}
]
},
{
"company": 2,
"employee": [
{ "id": 1, "name": "Madonna"},
{ "id": 2, "name": "Harry"}
]
}
]
}

上面的结构在 View 中可用

{{ holding }}

Holding 有 5 名员工,我如何在 Angular 中检测到这一点?有简单的方法吗?我在 View 中需要这种可能性,比如

{{ holding.length }}  // 2

我需要的是(伪代码):

{{ length of all employees in holding }} // 5

如果可能的话:我需要一个不修改 Controller 的仅查看解决方案..

下面的 Controller 解决方案(答案)可以正常工作。

最佳答案

使用数组的Reduce功能。它需要一个为数组的每个元素调用的函数,获取最后一次迭代的结果(我称之为 count,但它不一定是数字结果)和当前元素( company,因为 holding 的每个元素都代表一家公司)。函数后面的参数是可选的,用于指定 count 的初始值,或者您正在使用的任何类型的元素。

var totalEmployees = parentObject.holding.reduce(function(count, company){
return +count + +company.employee.length;
}, 0);

您没有为包含holding 的对象提供名称,所以我只是将其命名为parentObject

另一个好处是这是普通的 JS,因此即使 Angular 不可用也可以使用。

关于angularjs - JSON(嵌套结构)中的长度检测 - Angular View,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34315848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com