请老师帮忙检查
来源:3-11 项目作业
早点休息吧明天还要写代码
2022-05-31 17:23:44
//去重
const arr = [1, 1, '1', 17, true, true, false, false, 'true', 'a', {}, {}];
//1,使用set
const remove_re1 = [...new Set(arr)];
console.log(remove_re1);
//2,使用map
const m = new Map();
//将数组转为map,数组的项变成键名,下标变成值
//此时重复的会被新来的覆盖
arr.forEach((value,key)=>{
m.set(value,key);
});
//通过foreach遍历map来将键名推入新数组中
const remove_re2=[];
m.forEach((value,key)=>{
remove_re2.push(key);
})
console.log(remove_re2);
//3,使用for循环
const remove_re3=[];
for(let i=0;i<arr.length;i++){
if(remove_re3.indexOf(arr[i])==-1){
remove_re3.push(arr[i]);
}
}
console.log(remove_re3);
//reduce方法
const remove_re4= arr.reduce(
function(prev,next){
prev.indexOf(next)==-1 && prev.push(next);
return prev;
},[])
console.log(remove_re4);1回答
好帮手慕星星
2022-05-31
同学你好,四种方法没问题,很棒!祝学习愉快~
相似问题