刚学javaScript的时候,做一些小案例有些烧脑的感觉,如冒泡排序,输出三角形,九九乘法表等等,
今天再来重温一下,温故而知新哈。
1.冒泡排序--对数组进行升序排列
//冒泡排序--对数组进行升序排列 var arr=[22,434,55,3,12,123]; for(var n=1;n<arr.length;n++){//共进行n轮比较:n从1开始,到<length结束 for(var i=0;i<arr.length-n;i++){//下标从0开始,到<arr.length-1结束 if(arr[i]>arr[i+1]){//如果当前元素的值大于下一个元素的值 var emp=arr[i];//定义变量emp,用于交换前后两元素的位置 arr[i]=arr[i+1]; arr[i+1]=emp; } } } console.log(arr);
2.1输出正三角(字符串)
function triangle1(l){ for(var r=1;r<=l;r++){ //打印任意一行的公式 for(var i= 0,str="";i<r;str+="*",i++); console.log(str); } }
<html>中的代码
<button onclick="triangle1(prompt(‘请输入行数‘))">输出正三角1</button>
2.2数组方式实现正三角输出
function triangle2(l){ for(var r=1;r<=l;r++){ //arr[arr.length]=""和arr.push("")都可用于向数组中追加元素 for(var i=0,arr=[];i<r;arr[arr.length]="*",i++); //使用join()方法将数组的所有元素组成一个字符串输出 console.log(arr.join("")); } }
<html>中的代码
<button onclick="triangle2(prompt(‘请输入行数‘))">输出正三角2</button>
3.1输出等腰三角(字符串)
function triangle3(l){ for(var r=1;r<=l;r++){ for(var i= 0,str="";i<l+r-1;i++){//i<l+r-1--设置每一行元素个数 str+=i<(l-r)?" ":"*";//如果字符个数<(l-r),拼空格,否则拼* } console.log(str); } }
<html>中的代码
<button onclick="triangle3(parseInt(prompt(‘请输入行数‘)))">输出等腰三角1</button>
注意:此处parseInt,如果不使用,由于在javaScript中会用行数进行加法运算,而用户通过
prompt传进去的是字符串,这时就会出现字符串的拼接,就不会出现预期的效果
3.2数组方式实现等腰三角输出
function triangle4(l){ for(var r=1;r<=l;r++){ for(var i=0,arr=[];i<l+r-1;i++){ arr.push(i<(l-r)?" ":"*"); } console.log(arr.join("")); } }
<html>中的代码
<button onclick="triangle4(parseInt(prompt(‘请输入行数‘)))">输出等腰三角2</button>
4.99乘法表
var l=9; for(var r=1;r<=l;r++){ for(var i=1,arr=[];i<=r;i++){ //拼串 arr[arr.length]=[i,"X",r,"=",i*r<10?i*r+" ":i*r," "].join(""); } console.log(arr.join("")); }
原文:http://www.cnblogs.com/HelenX/p/5001963.html