相当于C strncmp的JavaScript(比较字符串的长度)
JavaScript中是否有与C函数相当于C strncmp的JavaScript(比较字符串的长度),javascript,string,string-matching,Javascript,String,String Matching,JavaScript中是否有与C函数strncmp等价的函数strncmp接受两个字符串参数和一个整数length参数。它将比较这两个字符串的lengthchars,并确定它们在length范围内是否相等 JavaScript是否具有等效的内置函数?您始终可以先比较字符串,然后再进行比较。您可以轻松构建该函数: function strncmp(str1, str2, n) { str1 = str1.substring(0, n); str2 = str2.substring(0, n
strncmp
等价的函数strncmp
接受两个字符串参数和一个整数length
参数。它将比较这两个字符串的length
chars,并确定它们在length
范围内是否相等
JavaScript是否具有等效的内置函数?您始终可以先比较字符串,然后再进行比较。您可以轻松构建该函数:
function strncmp(str1, str2, n) {
str1 = str1.substring(0, n);
str2 = str2.substring(0, n);
return ( ( str1 == str2 ) ? 0 :
(( str1 > str2 ) ? 1 : -1 ));
}
函数结尾处三元的替代方法可以是方法,例如
返回str1.localeCompare(str2)代码>没有,但您可以找到一个,以及
事实并非如此。您可以将其定义为:
function strncmp(a, b, n){
return a.substring(0, n) == b.substring(0, n);
}
自ECMAScript 2015以来,有:
这涵盖了一个非常常见的用例,其中比较的长度是searchString
的长度,并且只需要一个布尔返回值(strcmp()
返回一个整数以指示相对顺序。)
还包含forString.prototype.startsWith()
我构建它时有点不同,但谢谢。只是想确保我没有首先重新发明轮子。实际上它不是等价的(它只返回0,-1或1,c函数返回更多的值),但我认为在大多数情况下它足够了substring
比substr
快。
function strncmp(a, b, length) {
a = a.substring(0, length);
b = b.substring(0, length);
return a == b;
}
function strncmp(a, b, n){
return a.substring(0, n) == b.substring(0, n);
}
str.startsWith(searchString[, position])