JS使用Array.sort和Set()去重

 let setArr = ([...new Set([...nums.sort((a,b)=>{return a-b})])])
 console.log(setArr);

使用 sort()默认方法的话是Unicode编码,对于10以内是正常,一旦出现大于10就会出现 

[
  1, 10, 11, 2, 3,
  4,  5,  6, 7, 8    //因为按第一位来判断
]

在sort()中添加方法

function fun(a, b) {
    return a - b;
}

let arr = ["10", "5", "40", "25", "1000", "1", "9"];
let res = arr.sort(fun);

 

posted @ 2021-10-06 07:34  Frose  阅读(280)  评论(0)    收藏  举报