开胃小菜--来给数组去个重?!

简介: 开胃小菜--来给数组去个重?!

假如有这么个数组arr = ['shanghai','beijing', 'hangzhou', 'guangzhou','nanjing','beijing','shanghai'],如何去重?

方法一

let arr = ['shanghai','beijing', 'hangzhou', 'guangzhou','nanjing','beijing','shanghai'];
function unrepeated(arr) {
  const res = [];
  arr.forEach(e => {
    !res.includes(e) && res.push(e);
  })
  return res;
}
unrepeated(arr);

方法二

let arr = ['shanghai','beijing', 'hangzhou', 'guangzhou','nanjing','beijing','shanghai'];
function unrepeated(arr) {
  return arr.filter((e,i) => arr.indexOf(e) === i);
}
unrepeated(arr);

方法三

let arr = ['shanghai','beijing', 'hangzhou', 'guangzhou','nanjing','beijing','shanghai'];
function unrepeated(arr) {
  const res = {};
  arr.forEach(e => {
    !res[e] && (res[e]=null);
  })
  return Object.keys(res);
}
unrepeated(arr);

方法四

let arr = ['shanghai','beijing', 'hangzhou', 'guangzhou','nanjing','beijing','shanghai'];
function unrepeated(arr) {
  const res = new Map();
  arr.forEach(e => {
    !res.has(e) && res.set(e);
    // 不加判断,直接覆盖也行
    // res.set(e);
  })
  return Array.from(res.keys());
}
unrepeated(arr);

方法五


let arr = ['shanghai','beijing', 'hangzhou', 'guangzhou','nanjing','beijing','shanghai'];
function unrepeated(arr) {
  return [...new Set(arr)]
}
unrepeated(arr);
相关文章
|
10月前
每次生成代码注释后 然后把生成的代码插入原代码位置后 方法原来的注解就会错位
每次生成代码注释后 然后把生成的代码插入原代码位置后 方法原来的注解就会错位
30 1
|
3月前
|
存储 数据库
【随手记】顺序I/O和随机I/O的定义和区别
【随手记】顺序I/O和随机I/O的定义和区别
30 1
分页列表数据不出来,初始化页面数据不出来的原因,Create中传一个参数1,解决bug的方法,学习敲代码的时候仔细与原项目比对,从上比到下
分页列表数据不出来,初始化页面数据不出来的原因,Create中传一个参数1,解决bug的方法,学习敲代码的时候仔细与原项目比对,从上比到下
|
前端开发
前端学习笔记202305学习笔记第二十八天-数组结构之列表拖拽改变顺序4
前端学习笔记202305学习笔记第二十八天-数组结构之列表拖拽改变顺序4
39 0
|
设计模式 消息中间件 JavaScript
干掉 “重复代码”,这三种方式绝了!
干掉 “重复代码”,这三种方式绝了!
36938 2
干掉 “重复代码”,这三种方式绝了!
|
前端开发
前端学习笔记202305学习笔记第二十八天-数组结构之列表拖拽改变顺序3
前端学习笔记202305学习笔记第二十八天-数组结构之列表拖拽改变顺序3
46 0
|
前端开发
前端学习笔记202305学习笔记第二十八天-数组结构之列表拖拽改变顺序1
前端学习笔记202305学习笔记第二十八天-数组结构之列表拖拽改变顺序1
40 0
|
前端开发
前端学习笔记202305学习笔记第二十八天-数组结构之列表拖拽改变顺序2
前端学习笔记202305学习笔记第二十八天-数组结构之列表拖拽改变顺序2
47 0
|
前端开发
前端学习案例1-修改数据的时候修改循环数组数据1
前端学习案例1-修改数据的时候修改循环数组数据1
67 0
前端学习案例1-修改数据的时候修改循环数组数据1
|
前端开发
前端学习案例2-修改数据的时候修改循环数组数据2
前端学习案例2-修改数据的时候修改循环数组数据2
64 0
前端学习案例2-修改数据的时候修改循环数组数据2