- 第一种方式: 对象数组去重
function arrDistinctByProp(arr,prop){
let obj = {};
return arr.reduce(function(preValue,item){
obj[item[prop]] ? '' : obj[item[prop]] = true && preValue.push(item);
return preValue
},[])
}
let arr =
[
{sourceMap: '金额', dataListMap: '房屋及建筑物'},
{sourceMap: '金额', dataListMap: '机器设备'},
{sourceMap: '金额', dataListMap: '其他设备'},
{sourceMap: '金额', dataListMap: '运输设备'}
]
let newArr = arrDistinctByProp(arr,'sourceMap')
console.log(newArr)
- 第二种 字符串数组去重
function noRepeat(arr){
var newArr = [...new Set(arr)];
return newArr
}
let arr1 = [' asc', ' desc', ' asc', ' desc'];
let arr2 = this.noRepeat(arr1)
console.log('arr2---',arr2);
- 第三种 字符串数组去重2 (特殊格式)< 待写 >
let arr1 = ['项目 asc', '房屋及建筑物 desc', '办公设备 desc', '办公设备 asc', '项目 desc', '房屋及建筑物 asc']