题目描述
除去数组arr中的重复元素,并对新数组进行排序。
示例
输入 [ 1 , 3 , 3 , 5 , 2 , 7 , 0 , 3 , 1 ]
输出 [ 0 , 1 , 2 , 3 , 5 , 7 ]
代码
1 function duplicates(arr) { 2 arr.sort(function(value1 , value2){ 3 if(value1 > value2){ 4 return 1; 5 } 6 else if(value1 < value2){ 7 return -1; 8 } 9 else{ 10 return 0; 11 } 12 }); 13 var i=0 , j=0 ,k=0; 14 var item = arr[i]; //保存不同值
15 var newArr = []; 16 while(i < arr.length && k < arr.length){ 17 //i最终的值为arr.length-1 , 所以当 k = arr.length退出
18 newArr[j++] = arr[i]; 19 for( k = i ; k<arr.length ;k++){ 20 if(arr[k]!=item){ 21 item = arr[k]; 22 i=k; 23 break; 24 } 25 } 26 } 27 return newArr; 28 }
来源:牛客网