数组去重的12种方法4-对象属性
利用对象的属性不能相同的特点进行去重:
var b = Array.from('acbacebgjfab') //通过Array.from方法定义一个新的数组 function uniq(arry){ if(!Array.isArray(arry)){ //先判断传入的数据是不是数组类型 return alert('传入数据类型错误!') } var newArray=[]; //定义一个新的数组,用来接收去重后的值 var obj = {} //定义一个新的对象,利用对象属性名不能重复,来判断值是否重复 for(let i=0;i<arry.length;i++){ if(!obj[arry[i]]){ //如果对象中没有这项属性名,说明值没有重复 newArray.push(arry[i]) // 将没有重复的值push到新的数组当中去 obj[arry[i]]=1 //给对象中属性名为arry[i]赋值,表示第一次出现 // console.log(obj[arry[i]]) }else{ obj[arry[i]]++ // 如果在对象中出现,只需要给对象中这一项的次数+1 // console.log(obj[arry[i]]) } } console.log(obj); return newArray } console.log(uniq(b));
时间如白驹过隙,忽然而已,且行且珍惜......