在Angular 6中,要从对象数组中获取基于相同值的特定列的计数,可以使用Array.reduce()方法和Array.filter()方法来实现。以下是完整且全面的答案:
首先,我们可以创建一个对象数组,例如:
const data = [
{ name: 'Alice', age: 25, city: 'New York' },
{ name: 'Bob', age: 30, city: 'London' },
{ name: 'Alice', age: 35, city: 'Paris' },
{ name: 'Charlie', age: 40, city: 'New York' },
{ name: 'Alice', age: 30, city: 'London' }
];
然后,我们可以使用reduce()方法来计算每个唯一值的计数:
const countByCity = data.reduce((acc, obj) => {
const key = obj.city;
if (!acc[key]) {
acc[key] = 0;
}
acc[key]++;
return acc;
}, {});
这将返回一个对象,其中键是城市名称,值是该城市在数组中的出现次数。例如:
{
"New York": 2,
"London": 2,
"Paris": 1
}
如果要获取特定城市的计数,可以使用以下代码:
const city = 'New York';
const count = countByCity[city] || 0;
console.log(`The count of ${city} is ${count}`);
以上代码将打印出特定城市的计数。如果城市不存在于计数对象中,将返回0。
推荐的腾讯云相关产品和产品介绍链接地址:
注意:以上推荐的腾讯云产品仅供参考,具体选择需根据实际业务需求进行评估和决策。
领取专属 10元无门槛券
手把手带您无忧上云