JavaScript基础-内置对象(习题)

  • 时间:
  • 浏览:
  • 来源:互联网

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


 

本文链接http://smartadmin.com.cn/smartadmin/show-9236.html