javaScript 版本
Map 方式
/**
* @param {number[]} nums
* @return {number}
*/
var testArr = [0 ,3 , 3 ,5 ,7 ,7 ,8]
var removeDuplicates = function(nums) {
const res = new Map();
return nums.filter((a)=>!res.has(a) && res.set(a,1))
};
var newArr = removeDuplicates(testArr)
console.log(newArr) // [ 0, 3, 5, 7, 8 ]
explain:
filter 过滤掉不满足条件的每一项,返回一个新的数组
Map es6 新的数据结构 一键值对的方式 健名可以是任意值
关于es6 Set 和 Map https://www.sohu.com/a/339861360_100145576
Set 去重
function removeDuplicates(arr){
return Array.from(new Set(arr))
}
var test = removeDuplicates(testArr)
console.log(test)
explain:
1.Set是ES6新提供的数据结构,类似于数组,但是本身没有重复值。
2.Array.from方法用于将两类对象转为真正的数组
扩展运算符方式
var newArray = […new Set(arr)]