// 普通版
/*
* 数组内对象数据去重
* arr 数组
* type 相同的对象属性
*/
function Es5duplicate(arr,type){
var newArr = [];
var tArr = [];
if(arr.length == 0){
return arr;
}else{
if(type){
for(var i = 0; i < arr.length;i++){
if(!tArr[arr[i][type]]){
newArr.push(arr[i]);
tArr[arr[i][type]] = true;
}
}
return newArr;
}else{
for(var i = 0; i < arr.length;i++){
if(!tArr[arr[i]]){
newArr.push(arr[i]);
tArr[arr[i]] = true;
}
}
return newArr;
}
}
}
// ES6版
let lessons: [
{title: '媒体查询响应式布局',category: 'css'},
{title: 'FLEX 弹性盒模型',category: 'css'},
{title: 'MYSQL多表查询随意操作',category: 'mysql'},
{title: '媒体查询响应式布局',category: 'css'},
{title: 'FLEX 弹性盒模型',category: 'css'},
{title: 'MYSQL多表查询随意操作',category: 'mysql'}
]
var temp = {};
lessons = lessons.reduce((prev, curv) => {
if (temp[curv.title]) {
// 如果临时对象中有这个名字,什么都不做
}else {
// 如果临时对象没有就把这个名字加进去,同时把当前的这个对象加入到prev中
temp[curv.title] = true;
prev.push(curv);
}
return prev
}, []);
对象数组去重
最新推荐文章于 2024-07-03 03:23:10 发布