ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-07-22 21:57:34  阅读:448  来源: 互联网

标签:arr 内置 console log JavaScript 字符串 str var 习题


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


 

标签:arr,内置,console,log,JavaScript,字符串,str,var,习题
来源: https://blog.csdn.net/m0_58630861/article/details/119009802

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有