js 字符数组如何按照字符长度排序?

js 字符数组如何按照字符长度排序?
有没有比较好的方法推荐,自己写了一个过于麻烦?
阅读 8.3k
5 个回答
let arr = ['132','qwedd','q','2r','qwd'];
arr.sort(function(a,b){
    return a.length>b.length;
})
//输出 ["q", "2r", "132", "qwd", "qwedd"]
var arr = ['sdqwe1232','123','weqw123'];
console.log(arr.sort(function(a,b){
    return a.length - b.length;
}));

看了一下楼上的回答,每比一次都要去取一次 .length,为啥不先存一遍:

const arr = ['132','qwedd','q','2r','qwd']
const rtn = arr.map(i => ({raw: i, len: i.length}))
                .sort((p, n) => n.len - p.len)
                .map(i => i.raw)
console.log(rtn) // [ 'qwedd', '132', 'qwd', '2r', 'q' ]

学习了!

let arr = ['1234','12','4578','0986','qwerasd']
arr.sort((a, b) => {
    if (a.length > b.length) {
        return 1
    }
    if (a.length < b.length) {
        return -1
    }
    return 0
})
arr.forEach(s => setTimeout(console.log, s.length, s))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题