第五天
02-語言基礎-第02天{語句、數組}
for循環
1、初始化表達式 2、控制表達式 3、循環后表達式
for(var i=0; i < 100; i++){
// 需要執行的代碼
}
打印直角三角形
for (var i = 1; i <= 10; i++) {
for (var j = 1; j <= i; j++){
document.write("☆");
}
document.write("<br/>");
}
打印99乘法表
for (var i = 1; i < 10; i++) {
for (var j = 1; j <= i; j++) {
document.write(j + "*" + i + "=" + i * j);// 1 * 1 = 1
document.write(" ");
}
document.write("<br/>");
}
while循環
while(判斷條件/bool值){
// 如果滿足條件(bool值為true),則執行這里面的代碼
}
// 執行完畢后,再回到while判斷是否滿足條件,如果滿足,繼續執行{}中的代碼
// 判斷條件必須在{}中改變,否則就會是死循環
do while循環
do{
需要執行的代碼
}while(判斷條件/bool值)
// 先執行一遍do中的代碼,再去判斷while中的條件是否滿足,如果滿足,繼續執行do{}中的代碼,如果不滿足則不再執行
// 判斷條件必須在{}中改變,否則就會是死循環
break
-
作用:在循環內部結束循環
while(true){ break; } for(var i=0; i < 100; i++){ console.log(i);//控制臺只會打印0 // 需要執行的代碼 break; } // 在循環內部遇到break,則循環結束不再繼續執行
continue
-
作用:結束本次循環,開始下一次循環
while(true){ continue; } for(var i=0; i < 100; i++){ // 需要執行的代碼 console.log(i);//控制臺會打印0~99 continue; console.log(“這里的代碼不會執行”); } // 在循環內部遇到continue,則本次循環結束,即continue后面的代碼不再執行,馬上開始執行下一次循環
數組
申明和使用數組
// 申明數組(兩種方式)
var arr = new Array();
// var arr = [100,"99","true"];
// 給數組賦值
arr[0] = 100;
arr[1] = “99”;
arr[2] = true;
// 使用
console.log(arr[0]); // 100
console.log(arr[1]); // “99”
- 數組的下標是從0開始的
- 數組申明后長度無限
- js中數組可以存儲任意類型
數組的遍歷
-
length
:數組的長度console.log(arr.length); // 長度為3
-
遍歷數組
for(var i=0; i < arr.length; i++){ console.log(arr[i]); } // 100 "99" true
數組練習
-
將字符串數組用|或其他符號分割
var arr = ["a", "bb", "ccc", "dddd"]; var str = arr[0]; var seperator = "|"; for (var i = 1; i < arr.length; i++) { str = str + seperator + arr[i]; } console.log(str);
-
求一個字符串數組中每項的長度,并把長度的數值存儲到新的數組中
var arr = ["a", "bb", "ccc", "dddd"]; var newArr = []; for (var i = 0; i < arr.length; i++) { newArr[newArr.length] = arr[i].length; } console.log(newArr);
-
將數組中值為0的項去掉,將不為0的值存入一個新的數組
var arr = [55, 3, 0, 6, 7, 0, 8, 1, 78]; var newArr = []; for (var i = 0; i < arr.length; i++) { if (arr[i] !== 0) { newArr[newArr.length] = arr[i]; } } console.log(newArr);
-
翻轉數組
var arr = ["a", "bb", "ccc", "dddd"]; var newArr = []; for (var i = arr.length - 1; i >= 0; i--) { //console.log(arr[i]); newArr[newArr.length] = arr[i]; } console.log(newArr);
冒泡排序
// 亂序數組
var array = [1,9,2,3,8,5,6,0,4,7];
console.log(array);
// 每一項都需要和其他項進行比較 總共比較 9次
for (var i = 0;i < array.length - 1;i++){
// 假設已經是順序數組
var sorted = true;
for (var j = 0; j < array.length - 1 - i; j++) {
// 相鄰兩個數進行比較 交換位置
if (array[j] > array[j + 1]) {
var temp = array[j + 1];
array[j + 1] = array[j];
array[j] = temp;
sorted = false; // 進來這里說明不是順序數組
}
}
// 如果已經排好 跳出循環
if (sorted == true) {
break;
}
}
console.log(array);
冒泡排序懵逼.gif