Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.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
Javascript 查看字符串的结尾是否匹配_Javascript_String - Fatal编程技术网

Javascript 查看字符串的结尾是否匹配

Javascript 查看字符串的结尾是否匹配,javascript,string,Javascript,String,我有一个练习:检查字符串(第一个参数,str)是否以给定的目标字符串(第二个参数,target)结尾,而不使用方法endsWith()或任何其他方法。我的代码怎么了 功能确认(str,目标){ 对于原始代码中的(var i=1;i,存在一些问题: 将在线解决这些问题: function confirmEnding(str, target) { // using a for loop to iterate over the target string's length for (var

我有一个练习:检查字符串(第一个参数,str)是否以给定的目标字符串(第二个参数,target)结尾,而不使用方法
endsWith()
或任何其他方法。我的代码怎么了

功能确认(str,目标){

对于原始代码中的(var i=1;i,存在一些问题:

将在线解决这些问题:

function confirmEnding(str, target) {
  // using a for loop to iterate over the target string's length
  for (var i = 1; i <= target.length; i++) {
    //setting up a variable that says false
    val = false
    //trying to compare the individual characters
    if (str[str.length - i] === target[target.length - i]) {
      //so what happens here:
      //when the two match this will set val to true
      //but every time the loop is run is will reset to false.
      val = true;
    }
    //the return value is in the loop, so the loop will run once
    return val;
  }
}
confirmEnding("Bastian", "n");
将在循环的逻辑中返回true

请看下面的代码和其中的注释

功能确认(str,目标){
//获取目标字符串的长度
const targetLength=target.length;
//设置一个空字符串
让endstr=“”;

对于(设i=1;i),当前代码中的问题是结果的变量在循环内初始化

因此,它实际上只返回true/false,这取决于它比较的最后一个字符。
这将是目标字符串的第一个字符

你所能做的就是在发现差异后尽快摆脱这个循环

另外,还要检查字符串是否小于目标值,因为这样无论如何它都是false

F.e

功能确认(str,目标){
如果(str.length对于(var i=1;i循环的每次迭代-因此,特别是第一次迭代-
根据比较返回
true
false
。因此,您实际检查的只是第一次迭代。您应该删除
else
,并将
return false
移动到循环之后。让y你尝试过任何调试或日志记录吗?当你从函数“返回”时会发生什么?循环会继续执行吗?现在我只是修改它
string: Bastian target: irr