js合并多个有序数组排序去重

将数组 [[12,2],[23,5],[55,67],[12,23]],转换为[2,5,12,23,55,67];

var arr = [[12,2],[23,5],[55,67],[12,23]]

//只合并
function concat1(arr) {
    return arr.reduce( function (x,y) {
        return x.concat(y)
    })
}
console.log(concat1(arr),'只合并')


//如果需要从小到大排序
function concat2(arr) {
    return arr.reduce( function (x,y) {
        return x.concat(y)
    }).sort( function (a,b) {
        return a-b
    })
}
console.log(concat2(arr),'合并并排序')

//箭头函数 合并从小到大排序
arr.reduce((a,b) => a.concat(b)).sort((a,b) => a-b)
console.log(arr.reduce((a,b) => a.concat(b)).sort((a,b) => a-b),'es6综合')

//合并排序并去重
[...new Set(arr.reduce((a,b) => a.concat(b)).sort((a,b) => a-b))]
console.log([...new Set(arr.reduce((a,b) => a.concat(b)).sort((a,b) => a-b))],'将将最精简的版本')

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理