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);
?
|