关于JavaScript的一些练习题(十四)

第五十八题:冒泡排序

    var arr = [2,3,8,7,6,5,2,3,8,9,8,7];
    var t=0;
    for(var i=0;i<arr.length-1;i++){
        for(var j=0;j<arr.length-1;j++){
            if(arr[j]>arr[j+1]){
                t=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=t
            }
        }
    }
    console.log(arr)
第五十九题:选择排序
    var arr = [2,3,8,7,6,5,2,3,8,9,8,7];
    var t=0;
    var k=0;
    for(var i=0;i<arr.length-1;i++){
        k=i;
        for(var j=i+1;j<arr.length;j++){
            if(arr[k]>arr[j]){
                k=j
            }
        }
        t=arr[i];
        arr[i]=arr[k];
        arr[k]=t;
    }
    console.log(arr)
第六十题:将字符串按照单词进行逆序,空格作为划分单词的唯一条件
  传入:”Welome to Beijing”改为 “Beijing to Welcome”
    var str = "Welome to Beijing";
    var str1 = str.split(" ")
    var arr = [];
    arr = str1.reverse()
    var str2 = arr.join(" ")
    console.log(str2)
第六十一题:敏感词过滤。(用户输入的内容中的敏感词替换为*)
  例:“今天有个傻子在旁边大喊大叫,影响了我的操作。”,
  过滤后“今天有个*在旁边大喊大叫,影响了我的*作。”。
  思路:把敏感词汇放在数组里:var arr=["傻子","tmd","nnd"];
    var arr = ["傻子","操"];
    var str = "今天有个傻子在旁边大喊大叫,影响了我的操作。";
    var str1 = ""
    for(var i=0;i<arr.length;i++){
        str = str.replace(arr[i],"*")
    }
    console.log(str)

第六十三题:对称数组
传入一个数组,起始元素类型与个数皆未知,返回新数组,由原数组
的元素正序反序拼接而成
传入[“One”, “Two”,”Three”] 返回[“One”, “Two”, “Three”,”Three”,”Two”, “One”]

    var arr = ["One", "Two","Three"];
    function fn(arr){
        var arr1 = arr.join()
        var arr2 = arr.reverse().join()
        var str = arr1 + "," + arr2;
        return str.split(",")
    }
    console.log(fn(arr))

第六十四题:统计字符串中每个字符的个数。(原始字符串是:“aabccdeefff”,结果是:a2 b1 c2 d1 e2 f3)
    var str = "itvfgahpjpsblknsvbgfvieuegopohijdbvl";
    var obj = {};
    for(var i=0;i<str.length;i++){
        var attr = str[i];
        if(obj[attr]){
            obj[attr]++;
        }else{
            obj[attr] = 1
        }
    }
    console.log(obj)
第六十六题:数字字母混合验证码。(例:6yF3)
    var a="";
    var c="";
    var b="";
    var d = "";
    for(var i=0;i<4;i++){
        a += String.fromCharCode(rand(97,122));
        b += String.fromCharCode(rand(65,90));
        c += rand(0,9)
    }
    d = a+b+c;
    var e = ""
    for(var j=0;j<4;j++){
        e += d.charAt(rand(0,12))
    }
    console.log(e)
第六十七题:统计字符串中每个字符的个数,并去掉重复。(原始:“aabccdeefff”,统计后是:a2 b1 c2 d1 e2 f3,去重后是:abcdef)
    var str = "itvfgahpjpsblknsvbgfvieuegopohijdbvl";
    var obj = {};
    for(var i=0;i<str.length;i++){
        var attr = str[i];
        if(obj[attr]){
            obj[attr]++;
        }else{
            obj[attr] = 1
        }
    }
    var arr = []
    for(var i in obj){
        arr.push(i)
    }
    console.log(arr)
  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值