《javascrip编程精解》第二版习题练习(未完,根据自己学习进度更新)
来源:互联网 发布:lol网络关注 编辑:程序博客网 时间:2024/05/22 03:53
第二章:
1:LoopinaTriangle
编写一个循环,调用7次console.log打印三角形
#
##
###
####
#####
######
#######
var xx="";for(var b=1;b<=7;b++){xx = xx+"#"console.log(xx)}
2.1:FizzBuzz
编写一个程序,使用console.log打印出1到100的所有数字,当数字被3整除打印"Fizz",当数字被5整除且不被3整除打印"Buzz"
for(var a=1;a<=100;a++){if(a%3===0){console.log("Fizz");}else if(a%3!==0 && a%5===0){console.log("Buzz");}else{console.log(a);}}
2.2:修改程序,当程序遇到同时被3和5整除的情况打印"FizzBuzz"
for(var a=1;a<=100;a++){if(a%3===0 && a%5===0){console.log("BuzzFizz");}else if(a%3!==0 && a%5===0){console.log("Buzz");}else if(a%3===0){console.log("Fizz");}else{console.log(a);}}
创建一个棋盘网格每个位置可是空格或者"#",用console.log输出结果
棋盘定义size=8,用于扩展任意长宽棋盘
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
var size=8;for(var b=1;b<=size;b++){var x=""for(var c=1;c<=size;c++){if(b%2===0){x=x+" #"}else{x=x+"# "}if(x.length===size){console.log(x);}}}
第三章:
1:最小值
实现一个和Math.min一样功能的函数,接收两个参数,返回最小值
function MathMin(x,y){if(!isNaN(x)&&!isNaN(y)){ return x<y?x:y; }else{return "Not a Number!"}}console.log(MathMin("7",4));
2:递归
判断一个数的奇偶性,0是偶数,1是奇数,对于其它任何数字N,其奇偶性与N-2相同,说白了就是一个数一直减去2最后是1就是奇数,是0就是偶数,根据这些写一个递归函数isEven,接收一个参数number,返回一个布尔值,使用50和75作为测试参数;如果参数是-1会发生什么,并且修正函数
function isEven(num){if(num===0){return true}else if(num===1){return false}else if(num<0){return false}else{return isEven(num-2)}}console.log(isEven(50));console.log(isEven(75));console.log(isEven(-1));
3:字符计数
编写一个函数countBs,接收一个字符串参数,并返回“B”在这个字符串中出现的次数
function countBs(str){if(typeof str!=="string"){return "Not a String!"}var count=0;for(var a=0;a<str.length;a++){if("B"===str.charAt(a)){count +=1;}}return count;}console.log(countBs("abfbBhBhhhB"));
function countChar(str,char){if(typeof str!=="string"){return "Not a String!"}var count=0;for(var a=0;a<str.length;a++){if(char===str.charAt(a)){count +=1;}}return count;}console.log(countChar("abfbBhBhhhB","h"));
第四章:
1:特定范围数字求和
编写一个range函数,接收两个参数,start和end,返回start到end之间的所有数字
function range(start,end){var numlist = [];for(start;start<=end;start+=1){numlist.push(start);}return numlist;}
编写一个sum函数接收一个数字数组,返回所有数字的和
function sum(nums){var count=0;for(var x in nums){count = nums[x]+count;}return count;}
function rangex(start,end,step){if(!step){step=1;}var numlist = [];if(step>=0){for(start;start<=end;start+=step){numlist.push(start);}}else{for(start;start>=end;start+=step){numlist.push(start);}}return numlist;}
2:逆转数组
编写两个函数,reverseArray和reverseArrayPlace,实现逆转数组,不同的是,reverseArray返回一个新数组,原数组不改变;reverseArrayPlace原数组也发生改变
function reverseArray(list){var newList = [];var listLen = list.length-1;for(listLen;listLen>=0;listLen--){newList.push(list[listLen]);}return newList;}var xx = [1,2,3,4,5];console.log(reverseArray(xx));console.log(xx);
function reverseArrayPlace(list){var newList = list;var listLen = list.length-1;for(listLen;listLen>=0;listLen--){newList.push(list[listLen]);}var NewListLen = newList.length;var nums = (NewListLen/2);for(NewListLen;NewListLen>nums;NewListLen--){newList.shift();}return newList;}var xx = [1,2,3,4,5];console.log(reverseArrayPlace(xx));console.log(xx);
function reverseArrayPlace(array){ for(var i=0,length=array.length;i<length;i++){ //Math.ceil()向下取整;Math.round()四舍五入;Math.floor()向上取整 var halfIndex=length%2==0?halfIndex=length/2:Math.ceil(length/2); if(i<halfIndex){ console.log(halfIndex); //替换位置,第一个和最后,第二和倒数第二,以此类推 var leftvalue=array[i], rightvalue=array[length-1-i]; console.log(i); console.log(length-1-i); array[i]=rightvalue; array[length-1-i]=leftvalue; } } return array;}var array=[1,2,3,4,5,6,7,8,9];console.log(reverseArrayPlace(array));console.log(array);
- 《javascrip编程精解》第二版习题练习(未完,根据自己学习进度更新)
- 《Python核心编程》第二版课后习题——第二章 (记录自己做的习题,可能有误)
- sql练习 根据网上的习题,自己又做了个数据库,练习
- 《Python核心编程》第二版课后习题——第三章(记录自己做的习题,可能有误)
- 《Python核心编程》第二版课后习题——第四章(记录自己做的习题,可能有误)
- 《Python核心编程》第二版课后习题——第五章 (记录自己做的习题,可能有误)
- C#习题练习第二弹!!
- Java第二章练习习题
- 编程珠玑第二版习题,4.6.2
- 继续更新学习进度
- 算法竞赛入门经典(第二版)第三章课后习题(1-4)未完待续
- Python核心编程 第二版 第二章 部分习题解答
- python核心编程 第二版 第二章 习题
- python核心编程第二版第二章习题
- <python 核心编程第二版课后习题>第二章
- Shell编程学习进度
- 《编程珠玑》习题练习In Python——第二章 啊哈!算法
- 编程珠玑第二章习题
- Spring中指定applicationContext.xml等资源配置文件位置
- 详解Spring Cloud Config
- [LeetCode]167. Two Sum II
- Java中关键字的大致含义
- mybatis基础--作用域和生命周期
- 《javascrip编程精解》第二版习题练习(未完,根据自己学习进度更新)
- Android中static关键字的理解,及几个面试点
- 自定义控件三部曲之动画篇(八)——PropertyValuesHolder与Keyframe
- (贪心)Codeforces Round #427 B. The number on the board
- Light oj 1104 Birthday Paradox 生日悖论-雀巢原理
- HDU 6040 Hints of sd0061 找第K大数 (nth_element函数)
- js里添加html调用function参数问题
- 模拟天猫--网页定位导航效果
- Linux中三种网络模式是什么意思——NAT(二地址转换模式)