为了账号安全,请及时绑定邮箱和手机立即绑定

怎么判断JSON对象中value存在重复值次数多少

怎么判断JSON对象中value存在重复值次数多少

小怪兽爱吃肉 2019-03-14 18:19:04
怎么判断JSON对象中value存在重复值次数多少?假设是等待处理,判断这个相同值总共多少个,然后新建 JSON,如下:原数据:[    {name: "fcf294131", key: "处理进度", value: "等待处理"},    {name: "fcf294131", key: "处理进度", value: "正在处理"},    {name: "fcf294131", key: "处理进度", value: "等待处理"},    {name: "fcf294131", key: "处理进度", value: "完成"},    {name: "fcf294131", key: "处理进度", value: "等待处理"}]处理[    {key:"等待处理",len:3},    {key:"正在处理",len:1},    {key:"完成",len:1}]这个方法怎么写?
查看完整描述

4 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

如果已知需要处理的值的话


var arrStr=JSON.stringify([

    {name: "fcf294131", key: "处理进度", value: "等待处理"},

    {name: "fcf294131", key: "处理进度", value: "正在处理"},

    {name: "fcf294131", key: "处理进度", value: "等待处理"},

    {name: "fcf294131", key: "处理进度", value: "完成"},

    {name: "fcf294131", key: "处理进度", value: "等待处理"}

])

res=[

    {key: "等待处理", len: arrStr.split("等待处理").length-1},

    {key: "正在处理", len: arrStr.split("正在处理").length-1},

    {key: "完成", len: arrStr.split("完成").length-1}

]

当然没有考虑性能,只是取巧简洁一点hhhh


查看完整回答
反对 回复 2019-03-18
?
温温酱

TA贡献1752条经验 获得超4个赞

let arr = [], // 初始数据集

    res = {}; // 结果

arr.forEach(item => {

    if(!res[item.value]) {

        res[item.value] = {

            key: item.value,

            len: 1

        }

    } else {

        res[item.value].len++;

    }

})


res = Object.values(res);


查看完整回答
反对 回复 2019-03-18
?
大话西游666

TA贡献1817条经验 获得超14个赞

写了一个简单易懂的:


function countValue (arr) {

  var does = {

    key: '等待处理',

    len: 0

  };

   var doing = {

    key: '正在处理',

    len: 0

   };

   var done = {

    key: '已处理',

    len: 0

   };

  var newArr = [];

  for(var i =0;i <arr.length; i++) {

    switch(arr[i].value) {

      case '等待处理': does.len++;break;

      case '正在处理': doing.len++;break;

      case '已处理': done.len++;break;

    }

  }

  newArr.push(does);

  newArr.push(doing);

  newArr.push(done);

  return newArr

}

结果如图:

https://img1.sycdn.imooc.com//5c8f51b6000162b506270599.jpg

查看完整回答
反对 回复 2019-03-18
  • 4 回答
  • 0 关注
  • 1421 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信