js基础(二)
2017-02-03 本文已影响0人
believedream
第五天
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);
