如何使用TypeScript获取Json数组中字段的总计数

如何使用TypeScript获取Json数组中字段的总计数,json,typescript,Json,Typescript,我有一个Json数组 "user": { "value": [ { "customerNo": "1234" }, { "customerNo": "abcd" }, { "custom

我有一个Json数组

 "user": {
            "value": [
                {

                    "customerNo": "1234"

                },
                {
                    "customerNo": "abcd"

                },
                {

                    "customerNo": "1234"

                }

            ]
        }
在这里我想得到客户总数。我是这样理解的:

json.user.value.length;
输出为3。但问题是我必须避免重复的客户号码

正如这里所说,“1234”有两次。所以我的输出应该是2 如何使用Typescript执行此操作。

使用:

以下是应用程序中显示的链接。

使用:


以下是应用程序中显示的链接。

您可以使用
数组。减少
以统计唯一的客户

const data={
“用户”:{
“价值”:[
{
“customerNo”:“1234”
},
{
“客户号”:“abcd”
},
{
“customerNo”:“1234”
}
]
}
};
函数getCustomerCount(arr){
设tmp=[];
返回arr.reduce((acc,curr)=>{
如果(!tmp.包括(当前客户号)){
返回tmp推送(当前客户号);
}
返回acc;
}, 0);
}
让客户=data.user.value;
让customerCount=getCustomerCount(客户);

控制台日志(customerCount)
您可以使用
数组。减少
以统计唯一的客户

const data={
“用户”:{
“价值”:[
{
“customerNo”:“1234”
},
{
“客户号”:“abcd”
},
{
“customerNo”:“1234”
}
]
}
};
函数getCustomerCount(arr){
设tmp=[];
返回arr.reduce((acc,curr)=>{
如果(!tmp.包括(当前客户号)){
返回tmp推送(当前客户号);
}
返回acc;
}, 0);
}
让客户=data.user.value;
让customerCount=getCustomerCount(客户);

控制台日志(customerCount)
@Moriarty:我不确定
angular
标签是否无关-上面有一条评论,它在angular中使用了
forEach
设备(现在删除了,原因我不知道)。@halfer没有看到它,但如果问题发生变化时必须重新添加,则没有问题。@Moriarty:我不确定
angular
标记是否无关-上面有一条评论使用了angular中的
forEach
设备(现在删除了,原因我不知道)。@halfer没有看到它,但如果在问题更改时必须重新添加,则没有问题。
var uniqueCustomer = _.uniqBy(json.user.value, 'customerNo');
var length = uniqueCustomer.length