数组和字符串练习

数组和字符串练习

  • 实现向数组末尾追加一个元素有多少种方式
          var arr = [1,2,3]
          // 方法一
          arr.push('方法一');
          // 方法二
          arr.splice(arr.length,0,'方法二');
          // 方法三
          arr[arr.length] = '方法三';
          console.log(arr);
    
  • 给一段文章中的全部指定词语进行过滤
          var str ="tmdfjldsjftmddlsjtnndfnm3284tnnd0932tnndfjsjfdstmdkd7fjldsf";
          var filterArr = ['tmd','tnnd'];
          // 把str里面的tmd去除,去除后赋值回str
          // str = str.split(filterArr[0]).join('');
          // 把str里面的tnnd去除,去除后赋值回str
          // str = str.split(filterArr[1]).join('');
    
          // filterArr里面有几个元素,就要替换几次
          filterArr.forEach(function(value){
              // 就是本次执行函数的那个数组元素
              str = str.split(value).join('**');
          })
          console.log(str)
    
  • 反转字符串
         var str = "hello world";
         // 方法一:转数组,翻转,再变成字符串
          str = str.split("").reverse().join("");
         // 方法二:定义一个空字符串,依次从后面读取字符串内容,拼接再空字符串上
         for(var i=str.length-1,result='';i>-1;i--){
             result += str.charAt(i);
         }
         str = result;
         console.log(str);
    
  • aabccd统计每个字符出现的次数,去掉重复的字符,使结果显示 abcd
         var str = "aabccd"
         var obj = {}
         // i=0 a 问:obj.a有没有值,如果是undefined obj.a = 1
         // i=1 a 问:obj.a有没有值, 如果是1 obj.a = obj.a +1;
         for(var i=0;i<str.length;i++){
             var char = str.charAt(i);//遍历到的字符
             // 问:char在obj里面有没有记录出现的次数
             if(obj[char]){
                 // 如果能进这里,说明obj[char]为true,说明obj[char]有具体的值
                 obj[char] += 1;
             }else{
                 // 如果能进这里,说明obj[char]为false,说明obj[char]是undefined
                 obj[char] = 1;
             }
         }
         // 把obj里面的所有的键拼接起来
         var result = ''
         // 方法一:
           for(var key in obj){
              result+=key;
          }
         // 方法二
         // Object.keys() :返回一个由一个给定对象的自身属性组成的数组
         result = Object.keys(obj).join('')
         console.log(result)
    
  • 编写函数,判断一个字符串是否是 “可回文字符串”
         // 可回文字符串: 正着和反着一样
         // 例如: abcba / 你好世界世好你
         // 返回值是布尔值
         function isHuiWen(str){
             // var str = "abcba";
             // 思路:把str反转,如果反转后和str相等,说明是回文字符串,返回true
             var result = str.split('').reverse().join('');
             if(str===result){
                 return true;
             }
             return false;
         }
    
  • 编写函数map(arr) 把数组中的每一位数字都增加30%,并返回一个新数组
       var arr=[3,5,6];
       // 方法一
        var newarr=arr.map(function (i,index,arr){
               return i*1.3;
        });
             console.log(newarr);      
    
       // 方法二
                function map(arr){
               var r=[];
              for(var i=0;i<arr.length;i++){
                        r.push(arr[i]*1.3)
                  }
               return r
       }
    
  • 封装一个函数,可以把一个数字变成汉字
       function toChar(number){
       var result = "";// 最后要返回的汉字结果
       var arr = number.toString().split('');
       var charArr = ['零','一','二','三','四','五','六','七','八','九'];
       for(var i=0;i<arr.length;i++){
               result += charArr[arr[i]];
       }
       return result;
       } 
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值