统计元素每个元素出现的次数 把数组转对象
统计每个元素出现的次数
[“b”, “c”,“b”, “c”,“a”, “b”, “c”] 统计每个元素出现的次数,结果是: {a:1,b: 3, c: 3}
const arr = ["b", "c", "b", "c", "a", "b", "c"];
let obj = arr.reduce(function (AllNames, name) {
// 使用in判断AllNames对象里面是否有这个元素
if (name in AllNames) {
AllNames[name]++;
} else {
AllNames[name] = 1;
}
return AllNames;
}, {});
console.log(obj);
把数组转为对象
forEach实现
// var arr = [{ label: '男', value: 1 }, { label: '女', value: 0 }]
// console.log(obj) // {'1': '男', '0': '女'}
var arr = [
{ label: "男", value: 1 },
{ label: "女", value: 0 },
];
let obj={}
arr.forEach(item => {
obj[item.value]=item.label
});
console.log(obj);
reduce实现
var arr = [
{ label: "男", value: 1 },
{ label: "女", value: 0 },
];
// let obj={}
// arr.forEach(item => {
// obj[item.value]=item.label
// });
let obj= arr.reduce((allSum,item)=>{
allSum[item.value]=item.label
return allSum
},{})
console.log(obj);
map方式实现
let obj={}
arr.map(item=>{
obj[item.value]=item.label
return obj
})
console.log(obj);