Array.from(newSet([1,2,3,3,4,4]))//[1,2,3,4][...newSet([1,2,3,3,4,4])]//[1,2,3,4]//set是ES6新出来的一种一种定义不重复数组的数据类型//Array.from是将类数组转化为数组//...是扩展运算符,将set里面的值转化为字符串Array.prototype.distinct=nums=>{const map ={}const result =[]for(const n of nums){if(!(n in map)){
map[n]=1
result.push(n)}}return result
}[1,2,3,3,4,4].distinct();//[1,2,3,4]
数组排序
[1,2,3,4].sort((a, b)=> a - b);// [1, 2,3,4],默认是升序[1,2,3,4].sort((a, b)=> b - a);// [4,3,2,1] 降序//sort是js内置的排序方法,参数为一个函数冒泡排序:Array.prototype.bubleSort=function(){let arr=this,
len = arr.length;for(let outer = len; outer >=2; outer--){for(let inner =0; inner <= outer -1; inner++){if(arr[inner]> arr[inner +1]){//升序[arr[inner], arr[inner +1]]=[arr[inner +1], arr[inner]];
console.log([arr[inner], arr[inner +1]]);}}}return arr;}[1,2,3,4].bubleSort()//[1,2,3,4] 选择排序:Array.prototype.selectSort=function(){let arr=this,
len = arr.length;for(let i =0, len = arr.length; i < len; i++){for(let j = i, len = arr.length; j < len; j++){if(arr[i]> arr[j]){[arr[i], arr[j]]=[arr[j], arr[i]];}}}return arr;}[1,2,3,4].selectSort()//[1,2,3,4]