JavaScript 案例源码
数组练习
1.猜数字游戏
程序随机生成一个 20~ 50 之间的数字,并让用户输入一个数字,
如果大于该数字,就提示,数字大了,继续猜;
如果小于该数字,就提示数字小了,继续猜;
如果等于该数字,就提示猜对了, 结束程序。
一共只有10次机会
function getRandom(min,max)
{
return Math.floor(Math.random()*(max-min+1)+min);
}
var a=getRandom(20,50);
for(var i=9;i>=0;i--)
{
var number=prompt('输入数字:');
if(number>a)
{
alert('猜大了!还有'+i+'次机会');
if(i==0)
{
alert('机会用完下次再来!');
break;
}
}
else if(number<a)
{
alert('猜小了!还有'+i+'次机会');
if(i==0)
{
alert('机会用完下次再来!');
break;
}
}
else
{
alert('猜对了!');
break;
}
}
2.倒计时案例:
倒计时开始时间,比如:‘2020-11-11 00:00:00’
function Count()
{
var start=new Date();
var end =new Date('2020/11/11,23:59:40');
var result=parseInt((end.getTime()-start.getTime())/1000);
var a=parseInt(result/24/60/60);
var b=parseInt(result/60/60%24);
var c=parseInt(result/60%60);
var d=parseInt(result%60);
alert('距京东秒杀活动结束还有:'+a+'天'+b+'时'+c+'分'+d+'秒');
}
Count();
3.数组索引练习:
3-1 数组去重
有一个数组,要求去除数组中重复的元素
var arr=['c','a','z','a','x','a','x','c','b'];
var newArr = [];
for(var i=0;i<arr.length;i++)
{
if(arr.indexOf(arr[i])==i)
{
newArr.push(arr[i]);//筛选出来的推入新数组
}
}
console.log(newArr);
3-2 返回字符位置
查找字符串’abcoefoxyozzopp’中所有o出现的位置以及次数
var str='abcoefoxyozzopp';
var index=-1;//控制索引值变量
var i=1;
//无法查找到元素时结束循环,indexOf()=-1
do{
index = str.indexOf('o',index+1);//每次查找都从上一个位置开始
if(index!=-1)
{
console.log('o出现位置:'+index);
i++;
}
}while(index!=-1);
console.log('o出现总次数:'+i);
判断一个字符串 ‘abcoefoxyozzopp’ 中出现次数最多的字符,并统计其次数
var str='abcoefoxyozzopp';
var arr=[];
for(var i=0;i<str.length;i++)
{
var index=-1;
var j=0;
do{
index = str.indexOf(str[i],index+1);
if(index!=-1)
{
j++;
}
}while(index!=-1)
arr[j]=str[i];//将出现次数与数组下标挂钩,出现次数多则数组下标越大
}
console.log('出现最多的字符是:'+arr[arr.length-1]);
console.log('次数是:'+(arr.length-1));