数组中出现次数最多

var data = [1, 3, 4, 56, 7, 8, 4, 4, 5, 6, 7];
    var arr = [];
    var arrNew = [];
    var obj = {
      name: '',
      count: ''
    }
    // 去重
    for (var i = data.length; i--;) {
      if (arr.indexOf(data[i]) == -1) {
        arr.push(data[i]);
      }
    }
    // 获取对应次数
    for (var i = 0; i < arr.length; i++) {
      var a = 0;
      for (var j = 0; j < data.length; j++) {
        if (arr[i] == data[j]) {
          a = a + 1;
          arrNew.push({
            name: arr[i],
            count: a
          });
        }
      }
    }
    var arrNew2 = [];
    var newArr = []
    // 去重=》获取最多的次数
    for (var i = arrNew.length; i--;) {
      if (arrNew2.indexOf(arrNew[i].name) == -1) {
        arrNew2.push(arrNew[i].name)
        newArr.push(arrNew[i])
      }
    }
    // 排序 按次数
    newArr.sort(function (a, b) {
      return a.count < b.count
    })
    console.log(newArr)

下面是结果: 

 

方法很多,仅供参考

猜你喜欢

转载自blog.csdn.net/lbPro0412/article/details/83654139