js业务基本算法
- 已知一个数组a与一个正整数i(数组a的长度正好能被整数i整除),现拥有一个数据源,数据源中一条数据正好对应数组a中一个成员,提供一个函数get(c1,c2),输入数组a中两个成员本身,可返回在它们数组a中区间(包括自己本身)对应数据源的值,再提供一个函数down(j),输入获取的数据源的值,可下载获取的数据(数据源的值可用+号连接,赋值给新的变量j,传入函数可批量下载)。现要求每次获取的数据条数是随机的且不能超过正整数i,每次下载数据的条数只能等于正整数i,将所有数据下载完成即可。
- 先审题,题目已经告知数据获取函数get(c1,c2),下载函数down(j),数组a,正整数i
- 再看要求,每次获取的数据条数是随机的且不能超过正整数i,每次下载数据的条数只能等于正整数i,将所有数据下载完成即可
- 注意:每次获取数据条数是随机的且并不是每次获取之后就直接下载,可多次获取再下载
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <script src="./router/js/jquery-3.5.1.js"></script> <script> //初始化获取的数据 var get_data=[] do{ if(get_data.length<i){//获取的数据数小于i do { get_data=get_data.concat(get(c1,c2))//加入新的获取的数据 } while (get_data.length>=i); //直到获取的数据数>=i } //前i个数据之间用+号连接,并赋值给j var j='' for(var index1=0; index1<i; index1++){ if(j==''){ j=get_data[index1] }else{ j=j+'+'+get_data[index1] } } //下载j down(j) //将剩下的数据返回get_data for(var index2=i; index2<get_data.length; index2++){ var new_get_data=[] new_get_data.push(get_data[index2]) } get_data=new_get_data }while(){ } </script> </body> </html>