1、题目描述:把下面数组的首尾两个元素互换
var arr = ["鹿晗","王俊凯","蔡徐坤","彭于晏","周杰伦","刘德华","赵本山"];
var arr = ["鹿晗","王俊凯","蔡徐坤","彭于晏","周杰伦","刘德华","赵本山"]; /* 遍历数组 */ for(var i=0;i<arr.length;i++){ /* var temp; */ /* 数组存放到temp中进行交换 */ temp=arr[0]; arr[0]=arr[arr.length-1]; arr[arr.length-1]=temp; } console.log(arr);
2、制作一个函数,getDayNum( 年月日日期 ),可以返回指定日期是当前年的第几天
例: getDayNum( “2019-1-2”) 返回值为:2
var getDayNum=function(time){ var thisDay=new Date(time); var getYear=thisDay.getFullYear(); var firstDay=+new Date(getYear.toString()); var thisDay=+new Date(time); var times=(thisDay-firstDay)/1000; var d=Math.ceil(times/60/60/24)+1; return d+'天'; } console.log(getDayNum('2019-6-6'));
3、题目描述:使用Math对象,制作一个16进制的随机颜色
题目提示:16进制包括 “ 0 1 2 3 4 5 6 7 8 9 A B C D E F ”
例: “#f23a4b”
var arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F']; //console.log(arr); var color = []; for (var i = 0; i <= 5; i++) { color.push(arr[parseInt(Math.random() * arr.length)]); // 每次取一个元素 // Math.random()*arr.length是获取 [0 , arr.length) 之间的随机数浮点数,parseInt()对浮点数进行取整 } var ret = color.join(""); /// .join() 的返回值是一个字符串; console.log("十六进制随机颜色是:" + "#" + ret);
4、字符串:“abaasdffggghhjjkkgfddsssss3444343”,问题如下:
1、 字符串的长度
2、 取出指定位置的字符,如:0,3,5,9等
3、 查找指定字符是否在以上字符串中存在,如:i,c ,b等
4、 替换指定的字符,如:g替换为22,ss替换为b等操作方法
5、 截取指定开始位置到结束位置的字符串,如:取得1-5的字符串
6、 找出以上字符串中出现次数最多的字符和出现的次数
7、 遍历字符串,并将遍历出的字符两头添加符号“@”
var str=('abaasdffggghhjjkkgfddsssss344434'); /* 字符串的长度 */ console.log(str.length); /* 取出指定位置的字符 */ console.log(str.charAt(0),str.charAt(5),str.charAt(3),str.charAt(9)); /* 查找指定字符是否在以上字符串中存在,如:i,c ,b等 */ var index=str.indexOf('i'); if(index!=-1){ console.log(true); } else{ console.log(false); } /* 替换指定的字符,如:g替换为22,ss替换为b等操作方法 */ console.log(str.replace('g','22')); /* 截取指定开始位置到结束位置的字符串,如:取得1-5的字符串 */ console.log(str.substring(0,5)); /* 找出以上字符串中出现次数最多的字符和出现的次数 */ var o=[]; for(i=0;i<=str.length;i++){ var char=str.charAt(i); if(o[char]){ o[char]++; } else{ o[char]=1; } } console.log(o); var max = 0; var ch = ''; for (var k in o) { //forin循环,k是属性,o[k]是对应属性的值 if (max < o[k]) { //求最大值思路,初始max为0,遍历,每当有大于它的o[k],则赋值给max max = o[k]; ch = k; } } console.log(max); //8 console.log('出现最多的字符是' + ch); //出现最多的字符是2 /* 遍历字符串,并将遍历出的字符两头添加符号“ @”*/ var cs=str.split(' '); var newstr=(''); for(i=0;i< str.length;i++){ var newChar = '@' + str[i] + '@' + ';'; newstr += newChar; } console.log(newstr);
5、随机选学员
从以下学员名单中随机选出4个学员:
var arr = ["鹿晗","王俊凯","蔡徐坤","彭于晏","周杰伦","刘德华","赵本山"];
注意:不要有重复的学员
var arr = ["鹿晗", "王俊凯", "蔡徐坤", "彭于晏", "周杰伦", "刘德华", "赵本山"]; var newArr=[];//创建一个新数组用来接收随机选出来的值 while(newArr.length<4){//判断条件:当数组大于等于4的时候跳出循环 var num=Math.floor(Math.random() * 7) //随机生成0-7个数组的索引号,是可重复的 if(newArr.indexOf(arr[num])=== -1){//判断新数组中是否在旧数组中存在,当返回值(不存在-1)如果不存在就执行下面 newArr.push(arr[num]);//把旧数组的元素用push()方法推给新数组newArr } } console.log(newArr);
6、 随机排序
对以下学员随机排序,生成一个新数组:
var arr = ["鹿晗","王俊凯","蔡徐坤","彭于晏","周杰伦","刘德华","赵本山"];
var arr2 = ["鹿晗", "王俊凯", "蔡徐坤", "彭于晏", "周杰伦", "刘德华", "赵本山"]; arr2.sort(); console.log(arr2);