Javascript 如何识别多数组中重复元素的数量

Javascript 如何识别多数组中重复元素的数量,javascript,multidimensional-array,Javascript,Multidimensional Array,我有一个多数组,如下所示 [ {Name: "test1", Role: "Role1", Product: "Product4", Rate: 146, Rate_Override: 0}, {Name: "test2", Role: "Role1", Product: "Product1", Rate: 147, Rate_Override: 0}, {Name: "test3", Role: "Role1", Product: "Product1", Rate: 1

我有一个多数组,如下所示

[
    {Name: "test1", Role: "Role1", Product: "Product4", Rate: 146, Rate_Override: 0},
    {Name: "test2", Role: "Role1", Product: "Product1", Rate: 147, Rate_Override: 0},
    {Name: "test3", Role: "Role1", Product: "Product1", Rate: 148, Rate_Override: 0},
    {Name: "test4", Role: "Role2", Product: "Product1", Rate: 149, Rate_Override: 0},
    {Name: "test5", Role: "Role3", Product: "Product2", Rate: 146, Rate_Override: 0},
    {Name: "test6", Role: "Role1", Product: "Product1", Rate: 146, Rate_Override: 0},
]
如何获取与角色和产品匹配的重复记录数

Role1和Product4的组合为1

Role1和Product1的组合为3

Role2和Product1的组合为1

Role3和Product2的组合是1

请尝试

const a=[
{Name:“test1”,Role1,Product:“Product4”,Rate:146,Rate\u Override:0},
{Name:“test2”,Role1,Product:“Product1”,Rate:147,Rate\u Override:0},
{Name:“test3”,Role1,Product:“Product1”,Rate:148,Rate\u Override:0},
{Name:“test4”,Role2,Product:“Product1”,Rate:149,Rate\u Override:0},
{Name:“test5”,Role3,Product:“Product2”,Rate:146,Rate_Override:0},
{名称:“test6”,角色:“Role1”,产品:“Product1”,速率:146,速率覆盖:0}
]
常量匹配=(角色,产品)=>a.reduce((res,o)=>res+(o.role==角色和o.product==产品),0);
console.log(匹配('Role1','Product4');//1.
console.log(匹配('Role1','Product1'));//3.
console.log(匹配('Role2','Product1');//1.
console.log(匹配('Role3','Product2'));//1
您可以采取行动,并计算所需的组合属性

var数组=[{Name:“test1”,Role:“Role1”,Product:“Product4”,Rate:146,Rate_Override:0},{Name:“test2”,Role1,Product:“Product1”,Rate:147,Rate_Override:0},{Name:“Role1”,Product:“test3”,Role1,Product:“Product1”,Rate:“Role1”,Rate:“Product1”,Rate:“test4”,Role2:“Product1”,Rate_Override:0},{Name:“test5”,Role:“Role3”,Product:“Product2”,Rate:146,Rate\u Override:0},{Name:“test6”,Role:“Role1”,Product:“Product1”,Rate:146,Rate\u Override:0}],
键=[“角色”,“产品”],
count=Array.from(
array.reduce(
(m,o)=>
(k=>m.set(k,(m.get(k)| | 0)+1))
(keys.map(k=>o[k]).join(“|”),
新地图
),
([k,v])=>k.split(“|”).concat(v)
);
console.log(计数);

.as控制台包装{最大高度:100%!重要;顶部:0;}
到目前为止您尝试了什么?发布的问题似乎根本不包括解决问题的方法。StackOverflow希望您能够这样做,因为您的尝试有助于我们更好地了解您想要什么。请编辑问题以显示您尝试了什么,以便说明您遇到的具体障碍。有关更多信息,请参阅她看见了,就走了。