41 votes

Quelles sont les méthodes JavaScript utiles qui étendent les objets intégrés?

Quelles sont vos plus utile, la plupart des méthodes pratiques qui s'étend intégré dans les objets JavaScript comme String, Array, Date, Booléen, Maths, etc.?

Chaîne

Tableau

Date

Remarque : s'il vous Plaît poster une a étendu la méthode par réponse.

40voto

Canavar Points 29161

Chaîne Remplacer Tout:

 String.prototype.replaceAll = function(search, replace)
{
    //if replace is null, return original string otherwise it will
    //replace search string with 'undefined'.
    if(!replace) 
        return this;

    return this.replace(new RegExp('[' + search + ']', 'g'), replace);
};

var str = 'ABCADRAE';
alert(str.replaceAll('A','X')); // output : XBCXDRXE
 

38voto

RaYell Points 26761

Voici une autre implémentation de la méthode String.replaceAll()

 String.prototype.replaceAll = function(search, replace) {
    if (replace === undefined) {
        return this.toString();
    }
    return this.split(search).join(replace);
}
 

La différence entre celle-ci et la solution publiée ici est que cette implémentation gère correctement les caractères spéciaux des expressions rationnelles dans les chaînes et permet également la correspondance de mots.

16voto

Makram Saleh Points 4865
 Array.prototype.indexOf = Array.prototype.indexOf || function (item) {
    for (var i=0; i < this.length; i++) {
        if(this[i] === item) return i;
    }
    return -1;
};
 

Usage:

 var list = ["my", "array", "contents"];
alert(list.indexOf("contents"));     // outputs 2
 

8voto

SolutionYogi Points 16697

String.format

 String.prototype.format = function (values) {

    var regex = /\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g;

    var getValue = function (key) {
            if (values == null || typeof values === 'undefined') return null;

            var value = values[key];
            var type = typeof value;

            return type === 'string' || type === 'number' ? value : null;
        };

    return this.replace(regex, function (match) {
        //match will look like {sample-match}
        //key will be 'sample-match';
        var key = match.substr(1, match.length - 2);

        var value = getValue(key);

        return value != null ? value : match;
    });
};
 

Usage:

 alert('Program: {key1} {key2}'.format({ 'key1' : 'Hello', 'key2' : 'World' })); //alerts Program: hello world
 

7voto

RaYell Points 26761
// left trim
String.prototype.ltrim = function () {
    return this.replace(/^\s+/, '');
}

// right trim
String.prototype.rtrim = function () {
    return this.replace(/\s+$/, '');
}

// left and right trim
String.prototype.trim = function () {
    return this.ltrim().rtrim();
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X