我有一个Json数组。
"user": {
"value": [
{
"customerNo": "1234"
},
{
"customerNo": "abcd"
},
{
"customerNo": "1234"
}
]
}
这里我想得到客户总数。我这样得到它:
json.user.value.length;
输出 3 。但问题是我必须避免重复的客户编号。
这里“1234”有2次。所以我的输出应该是 2 如何使用Typescript。
答案 0 :(得分:2)
使用lodash:
var uniqueCustomer = _.uniqBy(json.user.value, 'customerNo');
var length = uniqueCustomer.length
以下链接显示了您应用中的How to use lodash。
答案 1 :(得分:0)
您可以使用Array.reduce
来统计独特的客户。
const data = {
"user": {
"value": [
{
"customerNo": "1234"
},
{
"customerNo": "abcd"
},
{
"customerNo": "1234"
}
]
}
};
function getCustomerCount(arr) {
let tmp = [];
return arr.reduce((acc, curr) => {
if(!tmp.includes(curr.customerNo)) {
return tmp.push(curr.customerNo);
}
return acc;
}, 0);
}
let customers = data.user.value;
let customerCount = getCustomerCount(customers);
console.log(customerCount);