zoukankan      html  css  js  c++  java
  • JS循环条件与数组

    ###2018-7-20 循环条件
    (1 ) whlie

    判断条件是否满足,满足执行while后面的代码,直到不满足。

    while (判断条件) {
        条件为真时执行的代码
    }

    let count = 0;

    while (count < 10) {
        console.log('hello');
        count++ ;
    }

    console.log('world');


    ( 2 )do ....while

    至少执行do后面的代码,再判断while 后面的条件, 条件满足时,输出do后面的代码, 直达不满足while后面的条件。
    特点  :至少执行一次


    do {
    条件为真时执行的代码

    } while (判断条件);

    let num = 0;

    do {
      
        console.log(num);
         num++; 
    } while(num < 5);

    ( 3 )for


    for (初始化表达式(1); 条件判断表达式(2); 改变条件表达式(3)) {

        // 条件判断表达式 为真时执行的代码(4)

    }

    执行顺序: 1  2  4  3  2  4  3  2  4  3  ...

    for (let i = 0; i < 5; i++) {

        for (let j = 0; j < 3; j++) {
            console.log(i, j);
        }

    }


    输出结果:0 0
    0 1
    0 2

    1 0 
    1 1
    1 2

    2 0 
    2 1
    2 2

    3 0 
    3 1
    3 2

    4 0 
    4 1
    4 2

    ( 4 )打断(终止)循环
    break:终止循环不再继续
    continue;终止当前这一小循环, 继续下一轮循环

    for(let i = 0; i < 10; i++){
    if(i == 5){
        break;
    }
    console.log(i);
    }
    当i = 5 时,直接停止,不再继续

       

    for(let i = 0; i < 10; i++)
        if(i == 5){
            continue;
        }
        console.log(i);
    }
    直接跳过i = 5 ,继续i = 6 的循环


    ###2018-7-20

    ####  一  数组(object )   Array
    ( 1 )数组定义:数组是数据的有序集合  ,可以保存任意数据类型的数据
    索引(下标):每一条数据在数组中的为位置, 从0 开始。

    1 )声明数组:
    * 字面量

    let  ary = [ ];

    * 构造函数

    let ary = new Array ( );

    2 )  定义数组并初始化

    * 字面量

    let  ary = [ `zhangsan` , `1234` , 1000 ];

    * 构造函数

    let ary = new Array (  `zhangsan` , `1234` , 1000 );

    3  ) 数组的索引(下标 ){  增、  删 、 改、  查 }
    * 查看:查看具体某条数据

    let  ary = [ `zhangsan` , `1234` , 1000 ];
    console.log( ary[ 2 ]) ;

    * 增加: 在数组的任意位进行增加数据,数组的长度会改变,空的位置使用undefined进行填充

    let arr = [ ] ;
    arr [ 0 ] =1 ;
    arr [ 4 ] = 4 ;
    console.log (arr);
    结果:[ 1,< 3 empty items >, 10]

    * 修改

    let  ary = [ `zhangsan` , `1234` , 1000 ];
    ary [ 0  ] = "0000";
    console.log(arry);
    结果:[ `0000` , `1234` , 1000 ]

    * 删除:通过delete来进行删除    ,delete 是关键字,不能用于命名

    let arr = [ 1 , 2 , 3 ,  4 , 5];
    delete arr [ 2 ] ; //删除数组中第3个元素
    结果: [ 1 , 2 , < 1 empty items > ,  4 , 5];
    只是吧数据删了,位置还在。


    * 多维数组(数组套数组)

    let array = [  [ 1, 2] , [ `a`, `b`] ] ;
    console.log( array[  1 ,[ 0 ] ] ) ;
    结果: a

    * 扩展运算符(spread )···一般用在数组的合并上

    let  ary1 = [ `zhangsan` , `1234` , 1000 ];
    let ary2 = [`a`, `b`,`c`,`d` ] ;
    let ary3 = [...ary1 , ...ary2];
    * 结构(结构赋值)ES6
    结构原理:两边结构保持一致,然后按照对应的位置将数据赋值给变量
     
    let  a = 1 ;
    let  b = 2 ;
    let  c =2 ;
       
    let [a, b, c] = [ 1,2,3];


    取数组当中的某一个值
    let user1 = [ `zhangsan` , `1234` , 1000 ];
    let [users , password , money];
    consolog(money);


    交换位置

    let a = 1 ;
    let b = 2;
    [ a, b] =[ b, a];
    consolog ( a, b) ;




    ### 二  数组的属性和方法
    ( 1 )属性:length;

    let ary = [0,1,2,3,4,,5];
    console.log(ary.length);


    清空数组:
    let ary = [0,1,2,3,4,,5];
    console.log(ary.length);

    ary.length =0;
    console.log(ary);

    (  2  )方法
       1)增加:push();
     
    在数组末尾增加一个
    let ary = [0,1,2,3,4,,5];
    ary .push("a");
    console.log(ary);

    在数组末尾增加多个数据   
    let len = ary.push("a","b","c");
    console.log(len);

     
      
    2)删除:pop();


    在数组末尾删除一个数据
    let ary = [0,1,2,3,4,,5];
    console.log(ary.pop());  查看删除的数据


    3)数组开头增加:unshift();

    ary.unshift("hello","world");

    4 ) 数组开头删除一个数据

    ary .shift( );



    5  )查找方法
      
       ( 1 ) includes ( ) ; 判断数据是否包含在数组中, 有 :true ,无 :false ;
      
    let result = ary .inclues ( " a"`);
    console. log( result) ;


    ( 2 ) index Of ( ); 同上,有会输出所在位置( 索引 ),如果值小于 0 表示没有,如果有两个会输出前面的索引

    let i = ary.indexOf('b');
    console.log( i );
    ( 3 ) lastIndexOf( ) ; 查找最后出现的元素

    let i = ary.lastIndexOf('a');
    console.log(i);


    ( 4 )slice(  ); 在原始数组中选取一部分创建一个新的数组,且原始数组不变

    let ary = [ "a", "1 ", "2" ,"a" ," 3" ,"a " ,"4 "," 5"];
    let newAry = ary.slice ( 2 ,3)  2表示开始截取的下标  3 结束的下标,但是不包含



    let newAry = ary.slice(2); 有开始下标,无结束下标是表示从从开始下标一直截取完
    console.log(newAry);



    ( 5 )join ( );把数组里的每一个元素通过一个指定的符号拼接成一个大的字符串

    let ary = ['h', 'e', 1, 'l', 'o', true];
    let str = ary.join('');
    console.log(str);



    ( 6 )ary.reverse( );将数组里的数据反序输出


    (7)ary 。sort( )字符串的比较

    let ary = [4, 3, 5, 11, 9];
    // a - b 从小到大 ;
    // b - a 从大到小 ;
    ary.sort(function (a, b) {
        return b - a;
    });
    console.log(ary);

     
  • 相关阅读:
    51nod贪心算法入门-----完美字符串
    HDU6030----矩阵快速幂
    O(n)求1~n的逆元
    (四)添加签到奖励功能
    (三)开始在OJ上添加签到功能
    (二)OJ的主要文件
    (一)在linux上ubuntu搭建hustOJ系统
    CF 148A Insomnia cure
    lower_bound和upper_bound
    C++ string的常用功能
  • 原文地址:https://www.cnblogs.com/fen0309/p/9351982.html
Copyright © 2011-2022 走看看