第二章:
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);
}
}
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
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
function countChar(str,char){
if(typeof str!=="string"){
return "Not a String!"
}
var count=0;
for(var a=0;a
第四章:
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