Python String.startswith()和Javascript中的字符串列表
Python允许我测试字符串是否以字符串元组开头,如下所示,,这是我想用JavaScript实现的:Python String.startswith()和Javascript中的字符串列表,javascript,python,string,Javascript,Python,String,Python允许我测试字符串是否以字符串元组开头,如下所示,,这是我想用JavaScript实现的: testvar = 'he', 'hi', 'no', 'ye' if my_string.startswith(testvar): return True 我看到了这一点,但这并没有完全帮助实现这一目标 我需要一个JavaScript代码,该代码将与上面的Python代码执行相同的操作。因为它们的长度都相同,您可以执行以下操作: testvar = ['he', 'hi', 'no'
testvar = 'he', 'hi', 'no', 'ye'
if my_string.startswith(testvar):
return True
我看到了这一点,但这并没有完全帮助实现这一目标
我需要一个JavaScript代码,该代码将与上面的Python代码执行相同的操作。因为它们的长度都相同,您可以执行以下操作:
testvar = ['he', 'hi', 'no', 'ye']
return testvar.indexOf(my_string.substring(0,2)) > -1
还有一些例子:
// Examples:
testvar = ['he', 'hi', 'no', 'ye']
my_string = 'hello'
testvar.indexOf(my_string.substring(0,2)) > -1
true
my_string = 'apples'
testvar.indexOf(my_string.substring(0,2)) > -1
false
您只需要在数组上进行一个简单的循环,其中有一个答案
var testvar=['he','hi','no','ye'];
功能启动时使用2(干草堆、打捆针){
var i=针的长度;
而(i-->0)
if(haystack.lastIndexOf(针[i],0)==0)
返回true;
返回false;
}
startsWith2('hello world',testvar);//真的
开始使用2('foo-bar-baz',testvar);//假的
类似于
endsWith
function endsWith2(haystack, needles) {
var i = needles.length, j, k = haystack.length;
while (i-- > 0) {
j = k - needles[i].length;
if (j >= 0 && haystack.indexOf(needles[i], j) === j)
return true;
}
return false;
}
您可以在测试数组上运行reduce操作,以查找变量是否以其中任何一个开头
var testVar = ['he', 'hi', 'no', 'ye'];
var myString = 'hello';
var startsWithAny = testVar.reduce(function (returnValue, currentTest) {
return returnValue || myString.startsWith(currentTest);
});
if (startsWithAny) {
return true;
}
var testvar=['he','hi','no','ye'];
var str=“你好”;
对于(i=0;i
既然有很多解决方案可以将数组作为参数传递,我将发布一个splat“*”样式参数的解决方案:
String.prototype.startsWithSplat = function(){
var args = Array.prototype.slice.call(arguments, 0, arguments.length);
var i;
var matched = false;
var self = this;
for(i = 0; i < args.length; i++){
if(self.slice(0, args[i].length) == args[i]){
matched = true;
break;
}
}
return matched;
}
你不能通过循环使用另一个问题的答案吗?看到这个问题了吗
String.prototype.startsWithSplat = function(){
var args = Array.prototype.slice.call(arguments, 0, arguments.length);
var i;
var matched = false;
var self = this;
for(i = 0; i < args.length; i++){
if(self.slice(0, args[i].length) == args[i]){
matched = true;
break;
}
}
return matched;
}
my_string.startswith('he', 'hi', 'no', 'ye');