How to Merge sorted Arrays in JavaScript

后端 未结 5 968
北恋
北恋 2020-12-17 16:58

I have three sorted arrays like below

[{name:\"a\"}, {name:\"b\"}, {name:\"m\"}, {name:\"x\"}]
[{name:\"a\"}, {name:\"e\"}, {name:\"i\"}, {name:\"o\"}]
[{n         


        
5条回答
  •  情书的邮戳
    2020-12-17 17:11

    Update:

    Seeing as it is current_year this would now be:

    const mergeAll = (...arrays) => arrays.reduce(mergeSorted);
    

    Original:

    If you're feeling functional this is a perfect place to use reduce.

    var mergeAll = function(){
        return Array.prototype.slice.call(arguments).reduce(mergeSorted);
    };
    

    example:

    var a = [{name:"a"}, {name:"b"}, {name:"m"}, {name:"x"}];
    var b = [{name:"a"}, {name:"e"}, {name:"i"}, {name:"o"}];
    var c = [{name:"g"}, {name:"h"}, {name:"m"}, {name:"n"}];
    
    console.log(mergeAll(a,b,c).map(function(x){return x.name;}));
    

    jsfiddle: http://jsfiddle.net/FeT6m/

提交回复
热议问题