数组对象去重并拿到重复的次数@TOC
网上数组对象去重方法可见,很多发了一下错误的拿到重复次数的方法。本人亲测有效的数组对象去重并可以拿到重复的次数。
直接上代码
let points = [{
lat: 22.687,
lng: 114.014
}, {
lat: 22.687,
lng: 112.004
}, {
lat: 22.687,
lng: 114.014
}, {
lat: 22.837,
lng: 114.014
}, {
lat: 26.687,
lng: 115.014
}, {
lat: 22.687,
lng: 115.014
}, {
lat: 22.687,
lng: 114.014
}, {
lat: 22.687,
lng: 115.014
}, ];
let arr = []
for (let i = 0; i < points.length - 1; i++) {
let obj = {
cot: 0
}
for (let j = i + 1; j < points.length; j++) {
if (points[i].lat == points[j].lat && points[i].lng == points[j].lng) {
obj.datas = points.splice(j, 1)
obj.cot++
j--
}
}
if (obj.cot != 0) {
arr.push(obj)
}
}
console.log('points', points) //去重后的数组对象
console.log('arr', arr) //重复的项以及出现的次数