js找出数组中重复的元素和重复次数

2024年07月25日 建站教程

let list = [{
	name:'小明',
	tel:'13088888888'
},{
	name:'小李',
	tel:'13088888899'
},{
	name:'小金',
	tel:'13088888877'
},{
	name:'小明',
	tel:'13088888888'
},{
	name:'小天',
	tel:'13088888855'
}]

先做排序

//中文排序
function sortChinese(arr, dataLeven) {
  function getValue (option) {
    if (!dataLeven) return option
    var data = option
    dataLeven.split('.').filter(function (item) {
      data = data[item]
    })
    return data + ''
  }
  arr.sort(function (item1, item2) {
    return getValue(item1).localeCompare(getValue(item2), 'zh-CN');
  })
}
sortChinese(list, 'name')

获取重复数据

let _res = [];
for(let i = 0; i < list.length;) {
  let count = 0;
  for(let j = i; j < list.length; j++) {
    if(list[i].name == list[j].name) {
      count++;
    }
  }
  let obj = {
    name:list[i].name,
    num:count
  }
  _res.push(obj)
  i += count;
}
console.log('_res',_res)

本文链接:http://so.lmcjl.com/news/9161/

展开阅读全文
相关内容