json对象数组去重
也可用于不同json数组切换添加后直接去重操作
/**
*json对象数组去重(完全相同的json对象,所有键值都相同)
*例如:[{id:1,name:aa},{id:2,name:bb},{id:1,name:aa}]=>[{id:1,name:aa},{id:2,name:bb}]
*@param {Array} arr 需要去重的json数组
*@returns {Array} newArr 返回的去重后的json数组
*/
export const arrDelRepetition =(arr)=>{
let newArr = Array.from(new Set(arr.map(JSON.stringify))).map(JSON.parse);
return newArr;
}
json对象数组存在单个同一个key的value值相同
也可用于循环表格或者操作,禁止选择/填写相同内容时
/**
*判断json对象数组存在单个同一个key的value值相同
*例如:[{id:1,name:aa},{id:2,name:bb},{id:3,name:aa}]=> 返回-1,提示存在相同名称
*@param {Array} arr 需要判断的json数组
*@param {String} name 需要判断的key
*@retunns {Number}返回1不存在,-1存在
*/
export const checkDuplicate=(arr,name) =>{
let names = arr.map(item => item[name]);
let durationsSet = new set(names);
if(durationsSet.size === names.length){
return 1;
} else {
return -1;
}
}