1、打印9*9乘法表
思路:脑补一下乘法表的格式,9*9就是有9列、9行组成。行和列都需要由循环控制。
document.write("<table border='1' cellspacing='0' cellpadding='0'>"); //最外面放一个大框
for(var i = 1; i <= 9; i++){ //控制行循环
document.write("<tr>");
for(var j = 1; j <= i; j++){ //控制列循环
document.write("<td>");
document.write(i + "*" + j + "=" + i * j);
document.write("</td>");
}
document.write("</tr>");
}
document.write("</table>");
2、打印正方形(10 * 10).
思路:类似的正方形也是10行和10列组成
for(var i = 1; i <= 10; i++){ //外层循环控制行
for(var j = 1; j <= 10; j++){ //内层循环控制列
document.write("☻");
}
document.write("<br />");
}
3、打印直角三角形。
思路:类似的直角三角形也是由行和列组成,只不过有一个条件,就是下一行始终比上一行多一列。
for(var i = 1; i <= 10; i++){ //外层循环控制行
for(var j = 1; j <= i; j++){ //内层循环控制列
document.write("☻");
}
document.write("<br />");
}
小结:注意每进行一次外层循环,内层循环要彻底循环完毕,才会进入下一次外层循环。
4、冒泡排序。
给出一组数,让进行从小到大排列。
思路:牵扯到数组中里的每个数都要进行两两比较大小。
var array = [65, 97, 76, 13, 27, 49, 58];
for (var i = 1; i < array.length; i++) { //外层循环控制趟数
var isSort = true;
for (var j = 0; j < array.length - 1; j++) { //内层循环控制两两比较大小的次数
if (array[j] > array[j + 1]) {
var tmp = array[j];
array[j] = array[j + 1];
array[j + 1] = tmp;
isSort = false;
}
}
if (isSort) {
break;
}
}
console.log(array);
趟数:数组中,每一个数都要和除自己外的其他数进行比较。每个数和其他数全都比较完了称为一趟。
内层循环控制的是保证每个数都会和其他数进行比较并排列位置。