知识点回顾:js数组
1、从以下学员名单中随机选出3个学员:
['隔壁小王', '同桌小李', '儿时小吴', '初恋小周', '红颜小赵']。注意:不要有重复的学员。
var arr = ['隔壁小王','儿时小吴' ,'初恋小周', '红颜小赵']
var newArr = [] //用来装选出来的人
for(var i = 1 ; i <= 3 ; i++){ //总共循环三次,每循环一次就随机选一个学员出来
var rad2 = parseInt(Math.random()*arr.length)
console.log(arr[rad2]);
//把随机选出来的学员装进newArr数组里面,并且从arr数组里面删掉这个学员
newArr.push(arr[rad2])
arr.splice(rad2,1)
}
console.log(newArr);//控制台打印出随机选出来的学员
2、猜数字游戏,有一个0-100随机数 玩家有5次输入的机会猜,每次猜一次,都要将结果告诉玩家是小了,还是大了。如果在5次机会内猜中,输出“聪明”,程序结束。如果5次机会用完 程序直接结束。
var rad = parseInt(Math.random()*101) //声明变量rad来装0-100的随机数
for(var i = 1 ; i <= 5 ; i++){
var num = Number(prompt('请猜一个数'));
if(num === rad){
console.log('聪明!');
break;
}else if(num > rad){
console.log('大了!');
}else{
console.log('小了!');
}
}
console.log('程序结束!');
3、有一个4个长度的数组,每个位置装有0-9之间的随机数字,有10次输入的机会来猜每个位置的上的数是什么,每次猜完4个数字以后都要给出提示,正确几个 错误几个, 只有位置和数字完全正确才算正确,其他情况全视为错误。
var arr = [] //用来装随机数的数组
for (var i = 1; i <= 4; i++) {
var rad = parseInt(Math.random() * 10)
arr.push(rad);
}
console.log(arr);
//执行10次
for (var j = 1; j <= 10; j++) {
//用户要开始输入四个数
//把用户输入的四个数装进新数组里面去
var newArr = [] //装用户输入的四个数
for (var i = 1; i <= 4; i++) {
var num = Number(prompt('输入一个数'))
newArr.push(num);
}
console.log(newArr);
//两个数组 相同下标 的值对比
//比四次
var correct = 0 //装正确的个数
for (var i = 0; i < 4; i++) {
if (arr[i] === newArr[i]) {
correct++;
}
}
//如果全正确,结束
if (correct === 4) {
console.log('全部正确!');
break;
} else {
console.log('正确:' + correct + ' 错误:' + (4 - correct));
}
}
4、数据去重,使数组的每一项都不一样。
var arr = [1, 2, 2, 2, 3, 3, 4, 5, 2, 3, 4, 4, 2, 23, 4, 5, 3, 54, 3, 3, 4];
//控制第一个比较数
for (var i = 0; i < arr.length - 1; i++) {
//控制第二个比较数
for (var j = i + 1; j < arr.length; j++) {
if (arr[i] === arr[j]) {
arr.splice(j, 1);
j--;
}
}
}
console.log(arr);
5、将一个正整数分解质因数。例如:输入90,分别打印出90的质因数 2 3 3 5 。输入60分别打印出 2 2 3 5 。 60=2*2*3*5
// 输入60分别打印出 2 2 3 5 。 60=2*2*3*5
var num = Number(prompt('请输入一个数'))
var arr = [] //装质因数的
var num2 = num
for(var i=2;i<=num;i++){
if(num%i === 0){
console.log('i',i);
arr.push(i);
num = num/i;
i--;
}
}
var str = arr.join('*')
console.log(num2 + '=' + str);
6、求数组中的最大值。
var arr = [-100,-200,-200,500,0];
var maxValue = arr[0];
for(var i = 1 ; i < arr.length ; i++){
if(arr[i] > maxValue){
maxValue = arr[i];
}
}
console.log('最大值=',maxValue);
7、数组为:[1,3,5,7,24,32,25,48]
1).求数组奇数的个数和偶数的个数。
2).求出上面数组的平均值。
var arr = [1,3,5,7,24,32,25,48]
var sum = 0; //装偶数的个数
var sum2 = 0;//总和
for(var i=0;i<arr.length;i++){
sum2+=arr[i];
if(arr[i]%2 === 0){
sum++;
}
}
console.log('偶数:' + sum );
console.log('奇数:' + (arr.length-sum) );
console.log('平均值:' + (sum2/arr.length) );
8、挑出其中所有是大一的女生的名字。
var arr = [
['小A','女',21,'大一'], ['小B','男',23,'大三'],
['小C','男',24,'大四'], ['小D','女',21,'大一'],
['小E','女',22,'大四'], ['小F','男',21,'大一'],
['小G','女',22,'大二'], ['小H','女',20,'大三'],
['小I','女',20,'大一'], ['小J','男',20,'大三']
]
for(var i=0;i<arr.length;i++){
if((arr[i][3] === '大一') && (arr[i][1] === '女')){
console.log(arr[i][0]);
}
}