Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python String.startswith()和Javascript中的字符串列表_Javascript_Python_String - Fatal编程技术网

Python String.startswith()和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'

Python允许我测试字符串是否以字符串元组开头,如下所示,,这是我想用JavaScript实现的:

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');