首页 > 试题广场 >

现有数组[5,2,0,1,3,1,4], 请实现去重功能后完

[问答题]

现有数组[5,2,0,1,3,1,4], 请实现去重功能后完成升序排序,并考虑性能。

 输入:const array = [5, 2, 0, 1, 3, 1, 4];

输出:[0,1,2,3,4,5]

不是2行就解决了吗,为什么参考答案这么长,是我理解错了吗
const array = [5, 2, 0, 1, 3, 1, 4];
console.log( [...new Set(array)].sort())

发表于 2019-08-06 19:42:32 回复(1)
let sortSet = (arr)=> [...new Set(arr)].sort((a,b)=>{return a - b})
发表于 2019-08-01 23:38:10 回复(0)
const arra = [5, 2, 0, 1, 3, 1, 4];
    var result=[]; 
 arra.forEach(function(v,i,arra){  
  var bool = arra.indexOf(v,i+1);  
  if(bool === -1){
   result.push(v);
  }
 })

 function sortNumber(a,b)
{
return a - b
}
result.sort(sortNumber);
 console.log(result);

发表于 2019-06-21 15:56:28 回复(0)
const array = [5, 2, 0, 1, 3, 1, 4];
 [...new Set(array)].sort((a,b)=>{
 return a-b
})
编辑于 2019-07-22 18:14:18 回复(2)
const array = [5, 2, 0, 1, 3, 1, 4];
console.log( [...new Set(array)].sort())

编辑于 2019-06-28 01:09:29 回复(1)
const arr=[5,2,0,1,3,1,4]
const arr2=[]
var index = 0;
var temp = 0;
for(var i =0;i<arr.length;i++){
    for(var j=i;j<arr.length;j++){
        temp = arr[i]
        if(arr[j]<arr[i]){
            arr[i]=arr[j]
            arr[j]=temp
            temp=arr[i]
        }
    }
}
for(var i =0;i<arr.length;i++){
    arr2[index]=arr[i]
    if(arr[i+1]!=arr[i]){
        index++
    }
}
console.log(arr2);
发表于 2023-06-08 20:04:15 回复(0)
这……两行的事
发表于 2020-09-14 09:44:21 回复(0)
function sort(ary) {
  return [...new Set(ary)].sort((a, b) => a - b);
}
发表于 2020-06-25 13:35:58 回复(0)
const array = [5, 2, 0, 1, 3, 1, 4];
// 去重
var arr=[...new Set(array)]
console.log(arr)
// 升序排序(快速排序法)
var len=arr.length;
for(var i=0;i<len-1;i++){
    if(arr[i]>arr[i+1]){
        var tem=arr[i];
        arr[i]=arr[i+1];
        arr[i+1]=tem;
        for(var j=i;j>0;j--){
            if(arr[j]<arr[j-1]){
                var old=arr[j];
                arr[j]=arr[j-1];
                arr[j-1]=old;
            }else{
                break;
            }
        }
    }
}
console.log(arr)

发表于 2020-02-15 21:05:49 回复(0)
利用伪数组set里面的每个值都是独一无二的特性   然后将伪数组转换成数组  在用数组的sort升序的排序方式
const array = [5201314];
    let set = new Set(array);
    let arr=Array.from(set);
    console.log(arr.sort());
发表于 2019-10-24 21:01:52 回复(0)
更多的是性能优化吧。。。
发表于 2019-10-11 20:24:50 回复(0)
function deArr(arr){
    let res = [...new Set(arr)];
    res.sort((a,b)=>a-b);
    return res;
}
我这样 不知道行不行 测试起来没问题
编辑于 2019-09-10 22:12:25 回复(0)
性能不太清楚
function count(arr){
	let set = new Set(arr);
	let singleAtt = [...set];
	return singleAtt.sort()
}
count(array)


发表于 2019-08-22 22:55:13 回复(0)
编辑于 2019-08-21 21:48:42 回复(0)
function unique(arr) {
    arr = arr.sort()
    var res = []
    res[0] = arr[0]
    for(let i=0;i<arr.length;i++) {
        if(arr[i]!=res[res.length-1]){
            res.push(arr[i])
        }
    }
    return res
}

发表于 2019-08-18 20:06:38 回复(0)
const array = [5, 2, 0, 1, 3, 1, 4];
 [...new Set(array)].sort((a,b)=>{
 return a-b
})
发表于 2019-08-07 10:44:14 回复(0)
function sortArr(a,b){
return a-b;
}
const arr = [5,2,0,1,3,1,4];//const定义的变量不可修改,且必须初始化
arr.sort(sortArr); //先进行升序排序
var NewArray = [];
var i;
for(i = 0 ; i < arr.length ; i ++){
if(NewArray.indexOf(arr[i]) == -1)
NewArray.push(arr[i]);
}
alert(NewArray);

编辑于 2019-07-09 21:36:13 回复(1)
function sortArray(array){
    let sort = [...new Set(array)]     
    let arr = sort.sort().reverse();     
    console.log(arr)
}
发表于 2019-07-06 16:51:50 回复(0)