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);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM