上次,我们了解了js代码的数组函数分类及简单的练习,例如sort练习。今天我们进行较难的sort练习和数组对象、日期对象和表格的练习。
首先。我们练习一些题。例如: 第一题 定义三个数组,将三个数组合并成一个数组 。 答案:
var arr=[1,2,3] var arr2=[11,12,13] var arr3=[111,222,333]
var arr4=arr2.concat(arr,arr3) 得到 console.log(arr4) 结果为:11,12,13,1,2,3,111,222,333
二、定义一个数组,将数组中的元素通过逗号拼接成字符串
var arr = [1,2,3]
var str = arr.join()
console.log(str);
答案为: 1,2,3,
三、
1.弹出5输入框,让用户输入商品的id、名称、价格、库存、是否上架
2.将用户输入的信息追加到数组对象中 push
3.将数组展示到页面中
<script>
var id = 6;
var name = prompt('')
var price= prompt('')
var num = prompt('')
var status = prompt('')
if(status == 'true'){
status = true
}else{
status = false;
}
arr.push({id:id,name:name,price:price,num:num,status:status})
for(var v of arr){
ul.innerHTML += `<li>${v.name}</li>`
}
</script>
第四题、 打印2000-2100之间的前10个闰年
答:
<script>
var a = 2000;
var b = 2100;
var sum = 0;
for (var i = 2000; i <= 2100; i++) {
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {
if (sum == 10) {
break;
}
document.write(`${i}是闰年` + `<br>`)
sum++
} }
</script>
九、 让用户输入一个数字,然后判断是否为正整数,如果不是,提示重新输入;
如果是,将该数字左右反转,然后输出(例如:12345,翻转之后为54321)
<script>
var arr = prompt('输入一个数字') * 1;
var arr2 = '';
if (arr > 0 && parseInt(arr) == parseFloat(arr)) {
for (var i = arr.length - 1; i >= 0; i--) {
arr2+=arr[i]
}
} else {
alert('重新输入')
}
console.log(arr2)
</script>
十、 ATM机的取款:首先提示用户输入密码,最多只能输入三次,超过3次则提示用户“密码错误,请取卡”结束交易。如果用户密码正确 假设密码是111111,再提示用户输入取款金额,ATM机只能输出100元的纸币,一次取钱数要求最低100元,最高1000元。若用户输入的金额符合上述要求,则打印输出用户取得钱数,最后提示用户“交易完成,请取卡”,否则提示用户重新输入金额
<script>
var arr = prompt('请输入密码')
if(i==2){
alect('3次机会已用完,请取卡');
break;
}
if(arr=='111111'){
while(true){
var money=prompt('请输入取款金额');
if(money %100==0 && money>100 &&money<1000){
alert(`取款金是:${money}`)
break;
}else{
alert('最低100元,最高1000元')
}
break;
}
i++;
} while(i<3)
</script>
以上是我们昨天讲解的内容的相关练习题。下面是今天我们讲解的知识点及练习题。
数学对象,指数学方面的 函数 分四舍五入、向下取整、向上取整、随机数。
四舍五入Math.random() 向下取整Math.floor 向上取整Math.ceil 随机数Math.random()
其中随机数分两个公式: 1.Math.random()*n n取0-n下间的小数,但不包含n ;
2.Math.random()*(大值-小值)+小值 。
日期对象 默认获取当前的时间 var date= new Date();创建一个日期对象。
获取年份:var year=date.getFullYear() 获取月份 (0-11): var mon = date.getMonth()+1;
//获取日期(1-31) var date2 = date.getDate(); 获取一周中的一天(0-6) 0星期日var day = date.getDay(); 获取时分秒 var hours = date.getHours(); var min = date.getMinutes(); var sec = date.getSeconds();
var hours = date.getHours();
var min = date.getMinutes();
var sec = date.getSeconds();
console.log(year,mon,date2,day,hours,min,sec)
var week = ['日','一','二','三']
if(mon<10){
mon = '0'+mon
}
document.write(`日期是${year}年${mon}月${date2}日
${hours}:${min}:${sec} 星期${week[day]}`)