一、问题
在拿到一组数时,需要对数组做去重处理如何实现?
arr=['a','c','a','d','d','c','a','a']
二、分析
为了提高代码的复用率,可以封装一个函数来实现数组去重。
创建一个新的数组来存放不重复的
var newArr=[]
遍历数组,将数组中不重复的加入到新的数组,在循环过程中将拿到的数与新数组对比,通过获取数组索引的方式 indexOf()方法。
如果indexOf()这个拿到的数,在新数组里查到返回的结果是-1。则说明这个拿到的数不在新数组中,可以push到新数组。
if(newArr.indexOf(arr[i])==-1){ } |
最后遍历结束,返回新的数组,就得到去重的数组。
三、代码实现
function unique(arr){
var newArr=[];
for (var i=0;i<arr.length;i++){
if(newArr.indexOf(arr[i])==-1){
newArr.push(arr[i])
}
}
return newArr;
}
var demo=unique(['a','c','a','d','d','c','a','a'])
console.log(demo);
结果展示:
主要是对数组的新增和获取索引知识的掌握。