7.27练习

作者: 意蜀 | 来源:发表于2019-07-27 19:55 被阅读3次
  1. 构造一个函数func(arr,x),使用sort()函数将给定的数组arr随机排序,
    并打印出该数组,以及变量x在该数组中的下标
  • 例如: func([1,2,3,4,5,6],5)
  • 输出:
    arr : [1,4,5,3,2,6] (随机排序)
    index : 2

正解吗??NO

function func(arr,x){
          console.log(arr.sort());
          console.log(arr.indexOf(x));
      }
      func([1,2,3,4,5,6,7,8,9,10],5);

这个函数只是简单的采用arr.sort()方法来实现的,但是如题所示随机数组。根据arr.sort()方法,我们可以写一个随机函数,引入到该方法里面来实现随机函数

//随机函数,随机产生一个数,如果数大于0.5,a在b前面,否则a在b后面
 function randomSort(a, b) {
            return Math.random() > 0.5 ? -1 : 1;
        }
        function func(arr,x){
            console.log('arr:'+arr.sort(randomSort));
            for(var i=0;i<arr.length;i++){
                if(arr[i]==x){
                    console.log("index:"+ i);
                }
            }
            console.log(arr.sort(randomSort));
        }
        func([1,2,3,4,5,6],5);

更简单的做法(只是代码更少而已)

       function randomSort(a, b) {
            return Math.random() > 0.5 ? -1 : 1;
        }
        function func(arr,x){
            console.log('arr:'+arr.sort(randomSort));
           console.log('index:'+arr.indexOf(x));
        }
        func([1,2,3,4,5,6],5);
  1. 构造一个函数func(arr),str1str2都是字符串,
    使用forEach()函数比较两 个字符串,如果str1包含了str2中的所有字符,
    函数返回true,否则返回false
  • 例如:
    func(["hello", "hey"]) //false,没有y
    func(["Mary", "Army"]) //true
function func(arr){
      //所有字符不分大小写
      var arr1=arr[0].toLowerCase().split('');
      var arr2=arr[1].toLowerCase().split('');
      var flag=true;
      arr2.forEach(element => {
        //根据数组的indexOf()方法的特性
          if(arr1.indexOf(element)==-1){
              flag=false;
          }
      });
      return flag;
  }
 func(["hello", "hey"])  //false,没有y
func(["Mary", "Army"]) //true
  1. 构造一个函数func(arr,num),使用sort(),slice(),push(),将arr
    分成num大小的数组,将每一个小数组升序排序后放入同一个数组返回
  • 例如:
    func([1,5,4,2,3,8,7],2)
    输出:
    [[1,5],[2,4],[3,8],[7]]
  • 例如:
    func([1,5,4,2,3,8,7],3)
    输出:
    [[1,4,5],[2,3,8],[7]]
  function func(arr,num){
      var b=[];//定义空数组存放
    for(var i=0;i<arr.length;){
       b.push(arr.slice(i,i+num).sort());
        i+=num;//每隔num个
    }
    return b;
  }
    func([1,5,4,2,3,8,7],3);//  [[1,4,5],[2,3,8],[7]]
  1. 构造一个函数func(str1,str2),使用substr()方法,判断str1是否以
    str2结尾,返回truefalse
  • 例如:
    func('an apple','apple') //true
    func('not an apple','le') //true
      function func(str1,str2){
    //获取两个字符串的长度
           var a=str1.length;
           var b=str2.length;
           if(str1.substr(a-b,b)==str2){
               return true;
           }
           else{
               return false;
           }
       }
       func('an apple','apple')  //true
  1. 构造一个函数func(str),将该字符串倒置并返回
  • 例如:
    func('asdfgh') //hgfdsa
    func('apple') //elppa
function func(str){
  return  str.split('').reverse().join('');
}
func("hello");//olleh

详情请点击翻转字符串

相关文章

  • 7.27练习

    构造一个函数func(arr,x),使用sort()函数将给定的数组arr随机排序,并打印出该数组,以及变量x在该...

  • 还看不见森林,就先观赏树叶吧

    7.27 Day11 练习1h 今日句子:The study was published in th...

  • 实习第一周总结(7.27-7.31)

    7.27号(周一),进入公司第一天实习,做五休二 一、每天总结 7.27 熟悉了一下环境 7.28 练习git,学...

  • 7.27 mysql练习

    mysql练习题目: GROUP BY 语句 基本用法: GROUP BY 语句中的GROUP_CONCAT()函...

  • 2017.8月亲子群分享

    7.27结晶树 7.25气压

  • ❤2019新少年近期团队余位

    7.24上海 58人,余位16 7.26 北京 37人,余位充足 7.27上海 21人,余位19 7.27内蒙 2...

  • 7.27

    仿新浪微博发布评论 1.html 你想对楼主说点什么 你最多可以输入30个字符 2.css样式 .m...

  • 7.27

    忙碌的一天,期待明天的到来

  • 7.27

    火辣辣的太阳,也磨灭不了我强大的意志。

  • 7.27

    今天准备就绪,期待明天哟~

网友评论

    本文标题:7.27练习

    本文链接:https://www.haomeiwen.com/subject/hsysrctx.html