让前端飞Web前端之路

js数组集合训练

2019-08-06  本文已影响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;
     }
   }
};
上一篇下一篇

猜你喜欢

热点阅读