zoukankan      html  css  js  c++  java
  • 字符串查找和函数操作题目解析

    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,初始化开始值,为了实现链式,需要返回一个函数 //调用返回函数,根据参数判断直接返回结果还是继续返回一个函数并且做乘法运算
  • 相关阅读:
    NOIP模拟测试17
    C++11下的关键字
    Tyvj 1518 CPU监控(线段树)
    单身三连之三
    论求解线性方程
    单身三连之二
    单身三连之一
    20190719总结
    卡常
    论突变为零(不定更新)
  • 原文地址:https://www.cnblogs.com/bravo2012/p/11356416.html
Copyright © 2011-2022 走看看