欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

字符串查找和函数操作题目解析

程序员文章站 2022-03-20 16:55:22
1. 字符串查找 2. 函数操作,无限乘 ......

1. 字符串查找

function iscontain(a, b){
  var alen = a.length
  var blen = b.length
  for(var i = 0; i < blen; i++){
    if(b[i]===a[0]){
      for(var j = 1; j < alen; j++){
        if(i + j >= blen || a[j] != b[i + j]) {
          break;
        }

        if(j == alen - 1) {
          return i
        }
      }
    }
  }
  return -1
}
console.log(iscontain('34', '1234567'));
console.log(iscontain('35', '1234567'));
console.log(iscontain('355', '12354355'));

结果:
2
-1
5 //字符串匹配 //循环全文本,找到和需要匹配的字符串第一个字符相匹配i,如果一直找不到直接返回-1 //找到以后,遍历需要匹配的字符串,看后续字符是否一直匹配,如果是,返回上面的i

2. 函数操作,无限乘

function multiply(num) {
  var res = num;
  return function inner(nextnum) {
    if(nextnum == undefined) {
      return res;
    } else {
      res = res * nextnum; 
      return inner;
    }
  };
}
console.log(multiply(1)());
console.log(multiply(1)(2)(3)());
console.log(multiply(1)(2)(3)(4)());

结果:
1
6
24
//闭包应用 //开始调用multiply,初始化开始值,为了实现链式,需要返回一个函数 //调用返回函数,根据参数判断直接返回结果还是继续返回一个函数并且做乘法运算