Javascript 如何通过删除数组中的重复值来获取值计数
例如,我有一个数组Javascript 如何通过删除数组中的重复值来获取值计数,javascript,Javascript,例如,我有一个数组 var Fruits : ["apple","banana","apple", "orange","banana","kiwi","orange"]; 现在,我想通过删除以下类型对象数组中的重复值来获得计数 0: fname: "apple" Count: 2; 1: fname: "banana" Count: 2; 2: fname: "orange" Count: 2; 3:fname: "kiwi" Count: 1; 有人能帮我得
var Fruits : ["apple","banana","apple", "orange","banana","kiwi","orange"];
现在,我想通过删除以下类型对象数组中的重复值来获得计数
0: fname: "apple"
Count: 2;
1: fname: "banana"
Count: 2;
2: fname: "orange"
Count: 2;
3:fname: "kiwi"
Count: 1;
有人能帮我得到这个对象数组吗
0: fname: "apple"
Count: 2;
1: fname: "banana"
Count: 2;
2: fname: "orange"
Count: 2;
3:fname: "kiwi"
Count: 1;
var-Fruits=[“苹果”、“香蕉”、“苹果”、“橙子”、“香蕉”、“猕猴桃”、“橙子”];
var uniqueArr=Fruits.filter(函数(elem、index、self){
返回索引==自索引(elem);
})
var Resobjar=[];
uniqueArr.forEach(函数(ele){
var计数=0;
var resObj={};
水果。forEach(函数(eleF){
如果(ele==eleF)计数++;
})
resObj['fname']=ele;
resObj['Count']=计数;
再推(再推);
})
console.log(resobjar)
ShortArray.prototype.reduce()
方法:
var fruits=[“苹果”、“香蕉”、“苹果”、“橙子”、“香蕉”、“猕猴桃”、“橙子”],
结果=[];
水果。减少(功能(r,i){
(r[i])?r[i].count+=1:result.push((r[i]={fname:i,count:1}));
返回r;
}, {});
控制台日志(结果)代码>arr=[]
对于(变量i=0;i
type object array-没有这样的类型。详细说明你想要的结构。是否需要对象数组?是。我想转换为数组对象。水果[0]应包含一个名为apple的fname,并计为2tanks you。这对我有用
var Fruits = ["apple","banana","apple", "orange","banana","kiwi","orange"];
var uniqueArr = new Set(Fruits);
var result = [];
uniqueArr.forEach(function(ele){
var count = 0;
var resObj = {};
Fruits.forEach(function(eleF){
if(ele == eleF)
count++;
})
resObj['fname'] = ele;
resObj['Count'] = count;
result.push(resObj);
})