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) {
//在这里写入代码
var result=[];
if(number_a>number_b){
for(var i=number_a;i>=number_b;i--){
if(i%2==0){
result.push(i);
}
}
return result;
}else if(number_a<number_b){
for(var i=number_a;i<=number_b;i++){
if(i%2==0){
result.push(i);
}
}
return result;
}else{
if(number_a%2==0){
return [number_a];
}else{
return [];
}
}
}
4.根据给出的两个数字得到一个自增/减1的数字区间
function get_integer_interval(number_a, number_b) {
//在这里写入代码
var result=[];
if(number_a>number_b){
for(var i=number_a;i>=number_b;i--){
result.push(i);
}
return result;
}else if(number_a<number_b){
for(var i=number_a;i<=number_b;i++){
result.push(i);
}
return result;
}else{
return [number_a];
}
}
5.弹出两个集合的交集
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();
}
6.根据给出的两个数字得到对应自增/减的字母区间
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', 'ah', 'ai', 'aj', 'ak', 'al', 'am', 'an', 'ao', 'ap',
'aq', 'ar', 'as', 'at', 'au', 'av', 'aw', 'ax', 'ay',
'az', 'ba'
];
var result=[];
if(number_a<number_b){
for(var i=number_a;i<=number_b;i++){
result.push(str[i]);
}
return result;
}else if(number_a>number_b){
for(var i=number_a;i>=number_b;i--){
result.push(str[i]);
}
return result;
}else{
return [str[number_a]];
}
}
7.根据给出的两个数字得到对应自增/减的字母区间
function get_letter_interval(number_a, number_b) {
//在这里写入代码
var str=['0','a','b','c','d','e','f','g','h'];
var result=[];
if(number_a<number_b){
for(var i=number_a;i<=number_b;i++){
result.push(str[i]);
}
return result;
}else if(number_a>number_b){
for(var i=number_a;i>=number_b;i--){
result.push(str[i]);
}
return result;
}else{
return [str[number_a]];
}
}
8.弹出两个集合的并集
function get_union(collection_a, collection_b) {
//在这里写入代码
return collection_a.concat(collection_b.filter(function(v) {return collection_a.indexOf(v) === -1 } ))
}
9.从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;
}
10.从collection中选出3的倍数
function choose_multiples_of_three(collection) {
//在这里写入代码
var result=[];
for(var i=0;i<collection.length;i++){
if(collection[i]%3==0){
result.push(collection[i]);
}
}
return result;
}
11.选出A集合中与B集合中的共有元素
function choose_common_elements(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;
}
12.选出A集合中与B集合中的不共有元素
function choose_no_common_elements(collection_a, collection_b) {
//在这里写入代码
return collection_a.filter(function(v){ return collection_b.indexOf(v) == -1 });
}
13.选出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]);
}
}
}
return result;
}
14.把二维数组变成一维数组
function double_to_one(collection) {
//在这里写入代码
var collection_a=[];
for (var i = 0; i < collection.length; i++) {
//instanceof则为判断一个对象是否为某一数据类型,或一个变量是否为一个对象的实例
if(collection[i] instanceof Array)
{
for (var j = 0; j < collection[i].length; j++) {
collection_a.push(collection[i][j]);
}
}
else
{
collection_a.push(collection[i]);
}
}
return collection_a;
}
15.四倍加一
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;
};
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 calculate_elements_sum(collection, element) {
//在这里写入代码
return collection.indexOf(element);
}
23.找出某元素在给定集合中的最后一个下标
function calculate_elements_sum(collection, element) {
//在这里写入代码
return collection.lastIndexOf(element);
}
24.找出给定集合元素的第一个偶数
function find_first_even(collection) {
//在这里写入代码
for(var i=0;i<collection.length;i++){
if(collection[i]%2==0){
return collection[i];
break;
}
}
}
25.找出给定集合元素的最后一个偶数
function find_last_even(collection) {
//在这里写入代码
for(var i=collection.length-1;i>=0;i--){
if(collection[i]%2==0){
return collection.lastIndexOf(collection[i]);
break;
}
}
}
26.根据给定数字无限分割至小于/等于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;
}
27.两大一小排序
function rank_by_two_large_one_small(collection){
//这里写代码。。。
function array_move(arr, old_index, new_index) {
if (new_index >= arr.length) {
var k = new_index - arr.length + 1;
while (k--) {
arr.push(undefined);
}
}
arr.splice(new_index, 0, arr.splice(old_index, 1)[0]);
return arr;
}
collection.sort(function(a,b){
return a-b;
})
var b=[];
for(var i=0;i<collection.length;){
b.push(collection.slice(i,i+3));
i+=3;
}
for(var j=0;j<b.length;j++){
if(b[j].length==3){
array_move(b[j],0,2);
}
}
var show = b.reduce(function (a, b) { return a.concat(b)} );
return show;
}
28.每一个数与下一个数相加,乘以3,最后一个数不算
function one_add_next_multiply_three(collection){
var result=[];
for(var i=0;i<collection.length-1;i++){
var item=(collection[i]+collection[i+1])*3;
result.push(item);
}
return result;
}
29.偶数奇数分两头,偶数部分从小到大,奇数部分从大到小
var even_asc_odd_desc = function(collection){
var odd=[];
var even=[];
var result=[];
for(var i=0;i<collection.length;i++){
if(collection[i]%2==0){
even.push(collection[i]);
}else{
odd.push(collection[i]);
}
}
result=[even.sort(function(a,b){
return a-b;
}),odd.sort(function(a,b){
return a-b;
}).reverse()];
result=result.reduce(function(a,b){
return a.concat(b);
})
return result;
};
30.下标为偶数的元素中,存在某元素
var is_exist_element = function(collection,element){
var result=[];
for(var i=0;i<collection.length;i+=2){
result.push(collection[i]);
}
if(result.indexOf(element)==-1){
return false;
}else{
return true;
}
};