统计元素每个元素出现的次数 把数组转对象

统计元素每个元素出现的次数 把数组转对象

统计每个元素出现的次数

[“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);
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值