function getUniqueCapabilities(capabilities) {
    return capabilities.reduce(function(uniqueCaps, currCap) {

        var isRepeated = uniqueCaps.some(function(cap) {
            return getCapabilityName(cap) === getCapabilityName(currCap);
        });

        return isRepeated ? uniqueCaps : uniqueCaps.concat([currCap]);
    }, []);
}
function getUniqueCapabilities(capabilities) {
    return capabilities.reduce(function(uniqueCaps, currCap) {

        var isRepeated = uniqueCaps.some(function(cap) {
            return getCapabilityName(cap) === getCapabilityName(currCap);
        });

        return isRepeated ? uniqueCaps : uniqueCaps.concat([currCap]);
    }, []);
}
function getUniqueCapabilities ( capabilities ) { return capabilities . reduce ( function ( uniqueCaps , currCap ) { var isRepeated = uniqueCaps . some ( function ( cap ) { return getCapabilityName ( cap ) === getCapabilityName ( currCap ) ; } ) ; return isRepeated ? uniqueCaps : uniqueCaps . concat ( [ currCap ] ) ; } , [ ] ) ; }
Remove capabilities with same names
@param {Object} an array of capabilities
@return {Object} an unique array of capabilities
Remove capabilities with same names