不知道是巧合还是约定好的,很多公司在面试前端人员的时候总是会出这么一道题,就是数组去重!虽然这是一个不是很难的问题,但是让你在纸上手写出来的感觉确实不咋地。因为写出来不能调试也不知道对不对,而且如果写的方法代码比较多,连代码缩进都是个问题,谁能知道中间逻辑有几行啊,在纸上怎么来空格呢???
我们不妨来试下用这个方法,用两个字来形容,简短。
Set方法
Set是ES6中新的对象。
集合(Set)对象允许你存储任意类型的唯一值(不能重复),无论它是原始值或者是对象引用。
直接上代码~
var arr = [1,2,2,3,4] // 需要去重的数组 var set = new Set(arr) // {1,2,3,4} var newArr = Array.from(set) // 再把set转变成array console.log(newArr) // [1,2,3,4]
就是这么简单,至于Array.from()只是把对象转化为数组形式而已。到头来用Set方法实现数组去重只用了两行代码,还用担心缩进吗?还用担心调试错误吗?不存在的。
希望能帮到正在找工作的伙伴们,大雪天的在家敲敲代码也是个不错的选择~~