getdata.js
function eliminateDuplicates(browsers) {
    var set = {};

    browsers.forEach(function (browser) {
        var osgroup = browser.os;
        var subgroup = browser.long_name;
        var version = browser.short_version;
        var device;
        var browserName;
        if (browser.api_name === "iphone")  {
            osgroup = device = "iPhone Simulator";
        } else if (browser.api_name === "ipad") {
            osgroup = device =  "iPad Simulator";
        } else if (browser.long_name === "Google Chrome") {
            browserName = 'Chrome';
        } else if (browser.long_name === "Microsoft Edge") {
            browserName = 'MicrosoftEdge';
            version = browser.long_version.substr(0, 8);
        } else if (browser.api_name === "android") {
            browserName = 'Android';
            osgroup = "Android " + browser.short_version;
            device = browser.long_name;
            if (subgroup === "Android") {
                subgroup += " " + version + " Emulator";
                device = "Android Emulator";
            }
        } else if (osgroup in OS_ID_TO_GROUPNAME) {
            osgroup = OS_ID_TO_GROUPNAME[osgroup];
        }
        set[JSON.stringify([osgroup, subgroup, version])] = {
            browserName: browserName || browser.long_name,
            platform: OS_ID_TO_GROUPNAME[browser.os] || browser.os,
            version: version,
            deviceName: device || browser.device
        };
    });

    var uniques = Object.keys(set).sort().map(function (id) {
        return set[id];
    });
    return uniques;
}
function eliminateDuplicates(browsers) {
    var set = {};

    browsers.forEach(function (browser) {
        var osgroup = browser.os;
        var subgroup = browser.long_name;
        var version = browser.short_version;
        var device;
        var browserName;
        if (browser.api_name === "iphone")  {
            osgroup = device = "iPhone Simulator";
        } else if (browser.api_name === "ipad") {
            osgroup = device =  "iPad Simulator";
        } else if (browser.long_name === "Google Chrome") {
            browserName = 'Chrome';
        } else if (browser.long_name === "Microsoft Edge") {
            browserName = 'MicrosoftEdge';
            version = browser.long_version.substr(0, 8);
        } else if (browser.api_name === "android") {
            browserName = 'Android';
            osgroup = "Android " + browser.short_version;
            device = browser.long_name;
            if (subgroup === "Android") {
                subgroup += " " + version + " Emulator";
                device = "Android Emulator";
            }
        } else if (osgroup in OS_ID_TO_GROUPNAME) {
            osgroup = OS_ID_TO_GROUPNAME[osgroup];
        }
        set[JSON.stringify([osgroup, subgroup, version])] = {
            browserName: browserName || browser.long_name,
            platform: OS_ID_TO_GROUPNAME[browser.os] || browser.os,
            version: version,
            deviceName: device || browser.device
        };
    });

    var uniques = Object.keys(set).sort().map(function (id) {
        return set[id];
    });
    return uniques;
}
function eliminateDuplicates ( browsers ) { var set = { } ; browsers . forEach ( function ( browser ) { var osgroup = browser . os ; var subgroup = browser . long_name ; var version = browser . short_version ; var device ; var browserName ; if ( browser . api_name === "iphone" ) { osgroup = device = "iPhone Simulator" ; } else if ( browser . api_name === "ipad" ) { osgroup = device = "iPad Simulator" ; } else if ( browser . long_name === "Google Chrome" ) { browserName = 'Chrome' ; } else if ( browser . long_name === "Microsoft Edge" ) { browserName = 'MicrosoftEdge' ; version = browser . long_version . substr ( 0 , 8 ) ; } else if ( browser . api_name === "android" ) { browserName = 'Android' ; osgroup = "Android " + browser . short_version ; device = browser . long_name ; if ( subgroup === "Android" ) { subgroup += " " + version + " Emulator" ; device = "Android Emulator" ; } } else if ( osgroup in OS_ID_TO_GROUPNAME ) { osgroup = OS_ID_TO_GROUPNAME [ osgroup ] ; } set [ JSON . stringify ( [ osgroup , subgroup , version ] ) ] = { browserName : browserName || browser . long_name , platform : OS_ID_TO_GROUPNAME [ browser . os ] || browser . os , version : version , deviceName : device || browser . device } ; } ) ; var uniques = Object . keys ( set ) . sort ( ) . map ( function ( id ) { return set [ id ] ; } ) ; return uniques ; }
The platforms API lists multiple versions of platforms with different properties. Pull out just the essentials, and eliminate duplicates.
The platforms API lists multiple versions of platforms with different properties . Pull out just the essentials and eliminate duplicates .