如何在JavaScript中没有内置函数的情况下查找子字符串?

我正在尝试重建Substring函数。这是我的代码。当传递单个参数以及num1> num2时它不起作用。有人可以告诉我应该在哪里更改吗?

这是我的代码...

function myFunction(num1,num2) {
  var str = "This is a string";
  var subString = "";
  var len = str.length;

  if (num1 < 0 || num2 > len) {
    console.log("Invalid input");
  } else {
    var k = 0;
    for (i = num1; i < num2; i++) {
      subString = subString + str[i];
      k++;
    }
    console.log(subString);
  }
}
myFunction(0,4);

cbq676869 回答:如何在JavaScript中没有内置函数的情况下查找子字符串?

您可以通过使用字符串,开始和结束索引作为参数来以正确的函数名称和名称开头。

然后从一个空字符串开始,并从头到尾或字符串的长度进行迭代。

std::declval<T>().size()

,

许多道路通向罗马。这是其中的三个:

function substring1(str,start,end) {
  return str
    .split("")
    .reduce((acc,val,i) => acc + (i >= start && i < end ? val : ""),"");
}

function substring2(str,end) {
  let substr = "";
  while (--end >= start) {
    substr = `${str[end]}${substr}`;
  }
  return substr;
}

function substring3(str,end) {
  return str.slice(start,end);
}

console.log(substring1("This is a string",4));
console.log(substring2("This is a string",8));
console.log(substring3("This is a string",8));

请注意,String.prototype.substr不是 String.prototype.substring

本文链接:https://www.f2er.com/3128875.html

大家都在问