美文网首页
2018-11-11 给出一个数和数组,请列出数组中一对数结果等

2018-11-11 给出一个数和数组,请列出数组中一对数结果等

作者: 五大RobertWu伍洋 | 来源:发表于2018-11-11 13:52 被阅读3次
    1. 在mongo shell 下 使用edit命令来玩一下鹿丽的面试题
      第一,确保环境变量有 EDITOR的值。 export EDITOR=vim
      第二,mongo shell连接上后输入 edit fun 即可编辑fun这个对象,无论是复制还是写个函数都可以哦!

    2. 第一版代码如下:

    function show(){
    num=15;
    array=[1,2,3,5,6,7,8,9,10,14];
    except=[];
    array.forEach((v,i)=>{
    if(array.indexOf(num-v)>-1 && except.indexOf(v)<0) {
    print(v+ ","+(num-v));
    except.push(num-v);
    }
    })
    }
    

    注意两个地方的用值一定是互补的:except.push(num-v);except.indexOf(v)<0

    1. 第二版去掉上面if语句的大括号,将使用过的值排除掉下一次被当做差值的可能:
    function show(){
    num=15;
    array=[1,2,3,5,6,7,8,9,10,14];
    except=[];
    array.forEach((v,i)=>{
    except.push(v);
    if(array.indexOf(num-v)>-1 && except.indexOf(num-v)<0) print(v+ ","+(num-v));
    })
    }
    
    1. 第四版,去掉if使用&&代替:
    function show(){
    num=15;
    array=[1,2,3,5,6,7,8,9,10,14];
    except=[];
    array.forEach((v,i)=>{
    except.push(v);
    array.indexOf(num-v)>-1 && except.indexOf(num-v)<0 && print(v+ ","+(num-v));
    })
    }
    

    注意: forEach()接收的是一个函数,其次,该函数中第一个参数是值,第二个才是索引。这个和jQuery中的forEach()函数在参数顺序上相反!

    相关文章

      网友评论

          本文标题:2018-11-11 给出一个数和数组,请列出数组中一对数结果等

          本文链接:https://www.haomeiwen.com/subject/miuxfqtx.html