陣列中出現次數最多
阿新 • • 發佈:2018-11-09
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)
下面是結果:
方法很多,僅供參考