js数组集合训练

作者: 意蜀 | 来源:发表于2019-08-06 21:01 被阅读8次

    1.选出给定区间中所有的偶数

    function collect_all_even(collection) {
      //在这里写入代码
      var result=[];
      for(var i=0;i<collection.length;i++){
        if(collection[i]%2==0)
        result.push(collection[i]);
      }
      return result;
    }
    

    2.弹出集合最后一个元素

    function collect_last_element(collection) {
      //在这里写入代码
      return collection[collection.length-1];
    }
    

    3.根据给出的两个数字给出相应的区间,如果两个数字相等得到只含此数字的数组,如果此数不在区间则返回空数组

    function get_integer_interval_2(number_a, number_b) {
      //在这里写入代码
      if(number_a>number_b){
        return collection_b;
      }else if(number_a<number_b){
        return collection_a;
      }else{
        if(collection_a.includes(number_a)||collection_b.includes(number_a)){
          return [number_a];
        }else{
          return [];
        }
      }
    }
    

    4.弹出两个集合的交集

    function get_intersection(collection_a, collection_b) {
      //在这里写入代码
      var result=[];
      for(var i=0;i<collection_a.length;i++){
        for(var j=0;j<collection_b.length;j++){
          if(collection_a[i]==collection_b[j]){
            result.push(collection_a[i]);
          }
        }
      }
      return result.sort().reverse();
    }
    

    5.根据给出的两个数字得到对应的字母区间

    function get_letter_interval_2(number_a, number_b) {
      //在这里写入代码
      var str=['0','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
      'aa','ab','ac','ad','ae','af','ag'
      ];
      if(number_a<number_b){
        return collection_a;
      }else if(number_a>number_b){
        return collection_b;
      }else{
        return str[number_a];
      }
    }
    

    6.弹出两个集合的并集

    function get_union(collection_a, collection_b) {
      //在这里写入代码
      console.log( collection_a.concat(collection_b.filter(function(v){ return !(collection_a.indexOf(v) > -1)})));
    }
    

    7.从collection中选出偶数

    function choose_even(collection) {
    
      //在这里写入代码
      var result=[];
      for(var i=0;i<collection.length;i++){
        if(collection[i]%2==0){
          result.push(collection[i]);
        }
      }
      return result;
    }
    

    8.从collection中选出不重复的数字

    function choose_no_repeat_number(collection) {
    
      //在这里写入代码
      var result=[];
       for(var i=0;i<collection.length;i++){
         if(collection[i]!==collection[i+1]){
           result.push(collection[i]);
         }
       }
       return result;
    }
    
    

    9.从collection中计算出每个数的个数

    function grouping_count(collection) {
    return  collection.reduce((p,k) => (p[k]++ || (p[k] = 1),p),{});
    }
    
    

    10.选出A集合中与B集合中的共有元素

      var result=[];
      for(var i=0;i<collection_a.length;i++){
        for(var j=0;j<collection_b.length;j++){
          if(collection_a[i]==collection_b[j]){
            result.push(collection_a[i]);
          }
        }
      }
     return result;
    }
    

    11.选出A集合中与B集合中的不共有元素

    
    function choose_no_common_elements(collection_a, collection_b) {
    
      //在这里写入代码
    return  collection_a.filter(function(v){ return collection_b.indexOf(v) == -1 });
    }
    

    12.出A集合中可以被B集合中整除的数

    function choose_divisible_integer(collection_a, collection_b) {
    
      //在这里写入代码
      var result=[];
      for(var i=0;i<collection_a.length;i++){
        for(var j=0;j<collection_b.length;j++){
          if(collection_a[i]%collection_b[j]==0){
            result.push(collection_a[i]);
          }
        }
        
      }
      console.log(result);
    }
    

    13.四倍加一

    var map_to_four_multiples_add_one = function(collection){
      var result=[];
      for(var i=0;i<collection.length;i++){
        result.push(collection[i]*4+1);
      }
      return result;
    };
    

    14.字母表映射2

    var number_map_to_word_over_26 = function(collection){
      var str=['0','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
    'aa','ab','ac','ad','ae','af','ag'
    ];
    var result=[];
    
    for(var j=0;j<collection.length;j++)
    for(var i=0;i<str.length;i++){
      if(collection[j]==i){
        result.push(str[i]);
      }
    }
    
    return result;
    };
    
    

    15.数字映射为字母

    var number_map_to_word = function(collection){
     var str="0abcdefg";
     var result=[];
     var show=[];
     for(var i=0;i<str.length;i++){
       result.push(str[i]);
     }
     for(var j=0;j<collection.length;j++){
       for(var k=0;k<result.length;k++){
         if(k==collection[j]){
          show.push(result[k]);
         }
       }
     }
    return show;
    };
    

    16.从大到小排序

    var rank_asc = function(collection){
      collection.sort(function(a,b){
        return a-b;
      });
    return collection.reverse();
    };
    

    17.从小到大排序

    var rank_desc = function(collection){
      collection.sort(function(a,b){
        return a-b;
      });
      return collection;
    };
    

    18.选出给定数字集合元素的最大值

    
    function collect_max_number(collection) {
      //在这里写入代码
       return Math.max.apply(this,collection);
    }
    

    19.选出给定数字集合元素的最小值

    function collect_min_number(collection) {
      //在这里写入代码
      return Math.min.apply(this,collection);
    
    }
    
    

    20.判断两个集合是否相同

    function compare_collections(collection_a, collection_b) {
      //在这里写入代码
     
     if (collection_a.length == collection_b.length) {
          for (let i = 0; i < collection_a.length; i++) {
            if (collection_a[i] != collection_b[i]) {
              return false;
            }
          }
        }
        else {
          return false;
        }
        return true;
    }
    

    21.计算给定数字集合元素的平均值

    function compute_average(collection) {
      //在这里写入代码
      var sum=0;
      for(var i=0;i<collection.length;i++){
        sum+=collection[i];
      }
     return sum/collection.length;
    }
    

    22.计算数组的中位数

    function compute_median(collection) {
      //在这里写入代码
      if(collection.length%2!=0){
        return collection[(collection.length-1)/2];
      }else{
        var sum=collection[collection.length/2]+collection[collection.length/2-1];
        return sum/2;
      }
    }
    

    23.计算给定集合元素的总和

    function calculate_elements_sum(collection) {
      //在这里写入代码
      var sum=0;
      for(var i=0;i<collection.length;i++){
        sum+=collection[i];
      }
      return sum;
    }
    

    24.找出某元素在给定集合中的第一个下标

    function calculate_elements_sum(collection, element) {
      //在这里写入代码
      return collection.indexOf(element);
    }
    

    25.找出某元素在给定集合中的最后一个下标

    function calculate_elements_sum(collection, element) {
      //在这里写入代码
     return collection.lastIndexOf(element);
    }
    
    

    26.找出给定集合元素的第一个偶数

    function find_first_even(collection) {
      //在这里写入代码
      for(var i=0;i<collection.length;i++){
        if(collection[i]%2==0){
          console.log(collection.indexOf(collection[i]));
          break;
        }
      }
    }
    
    

    27.找出给定集合元素的最后一个偶数

    function find_last_even(collection) {
      //在这里写入代码
      for(var i=collection.length-1;i>=0;i--){
        if(collection[i]%2==0){
          console.log(collection.lastIndexOf(collection[i]));
          break;
        }
      }
    }
    
    

    28.根据给定数字无限分割至小于等于0

    
    function spilt_to_zero(number, interval) {
      //在这里写入代码
      var collection=[number];
      while (number>0){
        number=Math.round((number-interval)*10)/10;
        collection.push(number);
      }
      return collection;
    }
    

    29.数组的每个偶数映射为字母

    function even_to_letter(collection) {
    
      //在这里写入代码
      var str="abcdefghijklmn";
      var result=[];
      for(var i=0;i<collection.length;i++){
        
        if(collection[i]%2==0){
          result.push(str[i]);
        }
      }
      return result;
    }
    

    30.数组的平均数(如果是小数上取整)映射为字母

    function average_to_letter(collection) {
    
      //在这里写入代码
      var sum=0;
      var str="abcdefghijklmn";
      for(var i=0;i<collection.length;i++){
        sum+=collection[i];
      }
      var aver=Math.ceil(sum/collection.length);
      console.log(str[aver-1]);
    }
    
    

    31.每一个数*3 +2再算总和

    function hybrid_operation(collection) {
    
      //在这里写入代码
      var result=[];
      var sum=0;
      for(var i=0;i<collection.length;i++){
        result.push(collection[i]*3+2);
      }
    for(var j=0;j<result.length;j++){
      sum+=result[j];
    }
    return sum;
    }
    

    32.每一个奇数*3+5再求总和

    function hybrid_operation_to_uneven(collection) {
    
      //在这里写入代码
      var result=[];
      var sum=0
      for(var i=0;i<collection.length;i++){
        if(collection[i]%2==0){
          result.push(collection[i]);
        }
        else{
          result.push(collection[i]*3+5);
        }
      }
      for(var j=0;j<result.length;j++){
        sum+=result[j];
      }
     return sum;
    }
    

    36.1-10的偶数算总数

    function amount_even(collection) {
    
      //在这里写入代码
      var sum=0;
      for(var i=0;i<collection.length;i++){
        if(collection[i]%2==0){
          sum+=collection[i];
        }
      }
      return sum;
    }
    

    37.1-10的奇数算平均数

    function average_uneven(collection) {
    
      //在这里写入代码
      var sum=0;
      for(var i=0;i<collection.length;i++){
        if(collection[i]%2!==0){
          sum+=collection[i];
        }
      }
      return sum;
    }
    

    38.(20,53)的中位数(如果是小数上取整)对应的字母

    function median_to_letter(collection) {
    
      //在这里写入代码
      var str='0abcdefghijklmnopqrstuvwxyz';
      var data=[];
      for (let i = 0; i < str.length; i++) {
        data.push(str[i]);
      }
      for (let i = 1; i <str.length ; i++) {
        for (let j = 1; j < str.length; j++) {
          data.push(str[i]+str[j]);
        }
      }
        if(collection.length%2==1){
        return data[collection[collection.length-1/2]];
      }else {
        return data[Math.ceil((collection[collection.length/2]+collection[(collection.length/2)-1])/2)];
      }
    }
    

    39.计算第偶数个元素的平均数

    var calculate_average = function(collection){
    var result=[];
    
    var sum=0;
    for(var i=0;i<collection.length;i++){
        if(collection[i]%2==0){
            result.push(collection[i]);
        }
    }
    for(var j=0;j<result.length;j++){
        sum+=result[j];
    }
        return sum/result.length;
    };
    

    40.计算所有第偶数个元素的中位数

    var calculate_median = function(collection){
        var result=[];
        for(var i=0;i<collection.length;i++){
            if(collection[i]%2==0){
                result.push(collection[i]);
            }
        }
        if(result.length%2!==0){
            return result[Math.floor(result.length/2)];
        }else{
            var sum=result[result.length/2]+result[result.length/2-1];
            return sum/2;
        }
    };
    

    41.下标为偶数的元素中,是否存在给定的数字

    var is_exist_element = function(collection,element){
       for(var i=0;i<collection.length;i+=2){
         if(collection[i]==element){
           console.log(true);
           break;
         }else{
           console.log(false);
           break;
         }
       }
    };
    

    相关文章

      网友评论

        本文标题:js数组集合训练

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