Y a-t-il un équivalent dans JavaScript sur la fonction C JavaScript a-t-il une fonction intégrée équivalente? p> STRNCMP code>?
STRNCMP CODE> prend deux arguments de chaîne et un integer
longueur code> argument. Il comparerait les deux chaînes pour code> de longueur code> et déterminerait si elles étaient égales aussi loin que
longueur code> est allé. p>
6 Réponses :
Vous pouvez facilement construire cette fonction: une alternative au ternaire à la fin de la fonction pourrait être le localecompare code>
méthode, par exemple retour str1.localecompare (str2); code> p> p> p>
Je l'ai construit un peu différemment, mais merci. Je voulais juste m'assurer que je ne réinventions pas la roue en premier.
En fait, ce n'est pas équivalent (il ne renvoie que 0, -1 ou 1, la fonction C retourne plus de valeurs), mais je pense que c'est suffisant pour la plupart des cas.
Ce n'est pas que vous pouvez trouver un ici , avec function strncmp ( str1, str2, lgth ) {
// Binary safe string comparison
//
// version: 909.322
// discuss at: http://phpjs.org/functions/strncmp
// + original by: Waldo Malqui Silva
// + input by: Steve Hilder
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + revised by: gorthaur
// + reimplemented by: Brett Zamir (http://brett-zamir.me)
// * example 1: strncmp('aaa', 'aab', 2);
// * returns 1: 0
// * example 2: strncmp('aaa', 'aab', 3 );
// * returns 2: -1
var s1 = (str1+'').substr(0, lgth);
var s2 = (str2+'').substr(0, lgth);
return ( ( s1 == s2 ) ? 0 : ( ( s1 > s2 ) ? 1 : -1 ) );
}
SUBSTRING CODE> est plus rapide que
substr code>.
function strncmp(a, b, length) { a = a.substring(0, length); b = b.substring(0, length); return a == b; }
Ce n'est pas. Vous pouvez définir un comme suit:
Depuis Ecmascript 2015, il y a Ceci couvre le cas d'utilisation très fréquent où la longueur de la comparaison est la longueur du le La page DOC Mozilla contient également un Polyfill pour startswith () code>
: SearchString code>, et seule une valeur de retour booléen est requise (
STRCMP () code> renvoie un entier pour indiquer une commande relative, à la place.) p>
string.pototype.startswith () code>. p> p>