数组运算

(2017-03-12 银河统计)

数组是相同数据类型的元素按一定顺序排列的集合。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。通常各种计算机编程语言都具备一定的数值运算能力,网页脚本Javascript语言具有强大和灵活多样的数组处理功能,充分利用JS数组编程知识可以解决几乎所有网络统计学方法。

在银河统计网和博客中,数组类函数(webTJ.Array)是网络统计类(webTJ)下的一个重要子类,主要用于数据处理和统计计算。在多少情况下,首先将数据导入数组变量(参见银河统计博文:数据输入、转换、展示和存储 - 网络统计类函数(1)),然后运用数组类函数(webTJ.Array)进行各类统计分析和运算。

线性代数中的矩阵是二维数组的特例。在银河网络统计学函数库中,webTJ.Array和webTJ.Matrix两个子类的函数经常相互调用。webTJ.Matrix子类侧重于建立模型,webTJ.Array子类侧重于数据处理。

为方便运行本文中样例代码,可打开网络统计学代码调试窗口,复制、粘贴代码到数据处理代码窗口中运行即可。

数组函数(子类名称:webTJ.Array)一览表

序号函数名称参数1参数2参数3功能备注
1getArrfromArrs(arrs)二维数组**二维数组转换为一维数组*
2getArrsfromArr(arr,col)一维数组二维数组列数*一维数组转换为二维数组*
3getNArrSort(arr,k)一维数组排序类型*一维数量型数组排序0升序、1降序、2乱序
4getSArrSort(arr,k)一维数组排序类型*一维字符型数组排序同上
5getNArrsSort(arrs,k,c)二维数组排序类型二维数量型数组排序同上
6getSArrsSort(arrs,k,c)二维数组排序类型二维字符型数组排序同上
7getQuantify(arrs)二维数组**数组量化*
8getArrStr(arrs)二维数组**获取数组格式字符串*
9getUniform(size,a,b,deci)样本量下限上限生成均匀分布数组deci:保留小数
10getNormal(size,mesn,sd,deci)样本量均值标准差生成正态分布数组同上
11getRDrr(arrs,size)指标频数矩阵样本量*按给定指标频数生成模拟样本数组*
12getUnique(arr)一维数组**提取数组中不重复元素及频数和频率*
13getCountif(arr,mstr)一维数组计数条件表达式*一维数组条件计数*
14getScreen(arr,mstr)一维数组筛选条件表达式*一维数组元素筛选*
15getSumif(arr,mstr)一维数组条件表达式*一维数组条件求和*
16getSelect(arrs,mstr)二维数组筛选条件表达式*二维数组元素筛选*
17getCTransform(arrs,mstr)二维数组变换条件表达式*二维数组列变换*
18getRTransform(arrs,mstr)二维数组变换条件表达式*二维数组行变换*
19getCSum(arrs,col)二维数组求和列*二维数组按列求和*
20getArrTransform(arr,mstr)一维数组转换表达式*一维数组变换*
21getGroup(arr,garr)待分组一维数组分组组限数组*一维数组分组及频数、频率统计*
22getLarge(arr,k)一维数组第k最大*获得数组第k最大值*
23getSmall(arr,k)一维数组第k最小*获得数组第k最小值*
24getColData(arrs,col)二维数组列数*获得二维数组指定列*
25getUniquity(arr)一维数组**提取一维数组不重复元素*
26getURate(arr,urr)一维样本数组不重复元素数组*统计一维数组(单项式)不重复元素频数和频率*
27getItemPos(arr,str)一维样本数组匹配元素*一维数组中匹配元素位置*
28getMonomial(arrs)二维样本数组**单项式分组样本转换为单项式样本*

注:本网页中所有数据管理类函数和代码样例都可以复制、粘贴到网页尾部“代码窗口”运行通过

一、数组运算函数和代码样例###

1、二维数组转换为一维数组  [返回]

## 函数
    webTJ.Array.getArrfromArrs(arrs);
##参数
    【arrs】
    【二维数组】

代码样例

webTJ.clear();
var oArrs=[[1,20],[1,2],[3,4],[5,6]];
var oArr=webTJ.Array.getArrfromArrs(oArrs);    //将二维数组转换为一维数组并赋值给变量oArr
webTJ.display(oArr,0);
webTJ.display(oArr[6],0);

2、一维数组转换为二维数组  [返回]

## 函数
    webTJ.Array.getArrsfromArr(arr,col);
##参数
    【arr,col】
    【一维数组,二维数组列数】

代码样例

webTJ.clear();
var oArr1=[1,2,3,8,9,4,5,6];
var oArrs1=webTJ.Array.getArrsfromArr(oArr1,3);    //将一维数组转换为二维数组(3列)
webTJ.display(oArrs1,1);                           //以矩阵方式显示数组变量oArrs1
var oArrs2=webTJ.Array.getArrsfromArr(oArr1,2);    //将一维数组转换为二维数组(2列)
webTJ.display(oArrs2,1); 

3、一维数量型数组排序  [返回]

## 函数
    webTJ.Array.getNArrSort(arr,k);
##参数
    【arr,k】
    【一维数组,排序类型】

注:(k=0)升序、(k=1)降序、(k=2)乱序

代码样例

webTJ.clear();
var oArr=[3,2,5,1,2,5,4,3,3,1,2,4,2,1,1,5,4,1,3,1];
webTJ.display(oArr,0);
var oSrr=webTJ.Array.getNArrSort(oArr,0); //将一维数量型数组按升序排序
webTJ.display(oSrr,0); 
oSrr=webTJ.Array.getNArrSort(oArr,1);     //将一维数量型数组按降序排序
webTJ.display(oSrr,0); 
oSrr=webTJ.Array.getNArrSort(oArr,2);     //将一维数量型数组按乱序排序
webTJ.display(oSrr,0); 

4、一维字符型数组排序  [返回]

## 函数
    webTJ.Array.getSArrSort(arr,k);
##参数
    【arr,k】
    【一维数组,排序类型】

注:(k=0)升序、(k=1)降序、(k=2)乱序

代码样例

webTJ.clear();
var oTxt="d,v,j,r,h,n,m,s,v,l,q,f,x,g,p,c,t,i,u,o,k,w,e,b,z,a";
var oArr=webTJ.getArr(oTxt,",");          //将字符串oTxt转换为数组oArr
webTJ.display(oArr,0);
var oSrr=webTJ.Array.getSArrSort(oArr,0); //将一维字符型数组按升序排序
webTJ.display(oSrr,0); 
oSrr=webTJ.Array.getSArrSort(oArr,1);     //将一维字符型数组按降序排序
webTJ.display(oSrr,0); 
oSrr=webTJ.Array.getSArrSort(oArr,2);     //将一维字符型数组按乱序排序
webTJ.display(oSrr,0); 

5、二维数量型数组排序  [返回]

## 函数
    webTJ.Array.getNArrsSort(arrs,k,c);
##参数
    【arrs,k,c】
    【二维数组,排序类型,列】

注:(k=0)升序、(k=1)降序、(k=2)乱序

代码样例

webTJ.clear();
var oArrs=[[3,2,5,1],[2,5,4,3],[3,1,2,4],[2,1,1,5],[4,1,3,1]];
webTJ.display(oArrs,1);
var oSrrs=webTJ.Array.getNArrsSort(oArrs,0,2); //数组按升序对第3列进行排序
webTJ.display(oSrrs,1); 

6、二维字符型数组排序  [返回]

## 函数
    webTJ.Array.getSArrsSort(arrs,k,c);
##参数
    【arrs,k,c】
    【二维数组,排序类型,列】

注:(k=0)升序、(k=1)降序、(k=2)乱序

代码样例

webTJ.clear();
var oTxt="e:2:g:r:p,t:b:3:c:o,j:a:1:a:k,l:m:d:4:h";
var oArrs=webTJ.getArrs(oTxt,",",":");
webTJ.display(oArrs,1);
var oSrrs=webTJ.Array.getSArrsSort(oArrs,0,1);    //数组第2列按降序排序
webTJ.display(oSrrs,1);

7、数组量化  [返回]

## 函数
    webTJ.Array.getQuantify(arrs);
##参数
    【arrs】
    【二维数组】

注:有时数组元素为数字字符(数字加引号,如"23"),可以用该函数加以量化后进行运算

代码样例

webTJ.clear();
var oArrs=[
    ["3","2","3","1"],
    [2,"5",4,3],[3,1,2,4],
    [2,1,1,5],[4,1,3,1]];
var oArrs1=webTJ.Array.getQuantify(oArrs);
webTJ.display(oArrs1,1);

8、获取数组格式字符串  [返回]

## 函数
    webTJ.Array.getArrStr(arrs);
##参数
    【arrs】
    【二维数组】

注:当将数据导入数组后,可以该函数导出数组格式字符串

代码样例

webTJ.clear();
var oArrs=[["3","2","3","1"],
    [2,"t","w",3],[3,1,2,4],
    [2,1,1,5],[4,1,3,1]];
var oStr=webTJ.Array.getArrStr(oArrs);
webTJ.display(oStr,0);

9、生成均匀分布数组  [返回]

## 函数
    webTJ.Array.getUniform(size,a,b,deci);
##参数
    【size,a,b,deci】
    【样本量,下限,上限,保留小数】

代码样例

webTJ.clear();
var oArr=webTJ.Array.getUniform(50,30,100,2);
webTJ.display(oArr,0);

10、生成正态分布数组  [返回]

## 函数
    webTJ.Array.getNormal(size,mesn,sd,deci);
##参数
    【size,mesn,sd,deci】
    【样本量,均值,标准差,保留小数】

代码样例

webTJ.clear();
var oArr=webTJ.Array.getNormal(50,100,10,4);
webTJ.display(oArr,0);

11、按给定指标频数生成模拟样本数组  [返回]

## 函数
    webTJ.Array.getRDrr(arrs,size);
##参数
    【arrs,size】
    【指标频数矩阵,样本量】

注:按指标频数生成模拟样本在管理系统模拟中被广泛运用。该函数为复合函数,返回模拟样本和频数两个数组

代码样例

webTJ.clear();
var oPrrs=[["A",12],["B",23],["C",15],["D",34],["E",54],["F",67],["G",88],["H",65],["I",32],["J",14]];
var oArrs=webTJ.Array.getRDrr(oPrrs,100);    //生成模拟样本数组
webTJ.display(oArrs[0],0);                   //显示模拟样本数组
webTJ.display(oArrs[1],1);                   //显示频数数组

12、提取数组中不重复元素及频数和频率  [返回]

## 函数
    webTJ.Array.getUnique(arr);
##参数
    【arr】
    【一维数组】

注:返回数组列分别为指标项、频数、累计数、频率、分布概率

代码样例

webTJ.clear();
var oSrr=webTJ.Array.getUniform(100,30,100,0);  //生成100个30-100的均匀分布随机数
webTJ.display(oSrr,0);
var oArrs=webTJ.Array.getUnique(oSrr);          //提取数组唯一项及频数和频率
webTJ.show(oArrs,2);                             //表格显示数组                

13、一维数组条件计数  [返回]

## 函数
    webTJ.Array.getCountif(arr,mstr);
##参数
    【arr,mstr】
    【一维数组,计数条件表达式】

注:Item[i]为一维数组元素通用项表达式。筛选条件表达式参见银河统计博文JavaScript脚本语言基础(一)之JavaScript运算符和操作符

代码样例

webTJ.clear();
var oArr=[3,2,5,1,2,5,4,3,3,1,2,4,2,1,1,5,4,1,3,1];
webTJ.display(oArr,0);
var oStr="Item[i]>3";                             //设置计数条件表达式
var oBrr=webTJ.Array.getCountif(oArr,oStr);       //按条件统计元素数量
webTJ.display(oBrr,0);

14、一维数组元素筛选  [返回]

## 函数
    webTJ.Array.getScreen(arr,mstr);
##参数
    【arr,mstr】
    【一维数组,筛选条件表达式】

代码样例

webTJ.clear();
var oSrr=webTJ.Array.getUniform(100,30,100,0);  
webTJ.display(oSrr,0);
var oTxt="Item[i]>=50 && Item[i]<60";         //设置筛选条件为[50,60)
var oArr=webTJ.Array.getScreen(oSrr,oTxt);    //按条件筛选数组元素
webTJ.display(oArr,0);

15、一维数组条件求和  [返回]

## 函数
    webTJ.Array.getSumif(arr,mstr);
##参数
    【arr,mstr,type】
    【一维数组,条件表达式】

代码样例

webTJ.clear();
var oSrr=webTJ.Array.getUniform(100,30,100,0);  
webTJ.display(oSrr,0);
var oTxt="Item[i]>=50 && Item[i]<60";         //设置筛选条件为[50,60)
var oArr=webTJ.Array.getSumif(oSrr,oTxt);     //按条件合计数组元素
webTJ.display(oArr,0);

16、二维数组元素筛选  [返回]

## 函数
    webTJ.Array.getSelect(arrs,mstr);
##参数
    【arrs,mstr】
    【二维数组,筛选条件表达式】

注:Items[i][j]为二维数组元素通用项表达式

代码样例

webTJ.clear();
var oArrs=[[3,2,5,1],[2,5,4,3],[3,1,2,4],[2,1,1,5],[4,1,3,1]];  
webTJ.display(oArrs,1);
var oStr="Items[i][0]>=3 && Items[i][2]<4";    //设置筛选条件为第1列每行大于等于3,第3列每行小于4
var oBrrs=webTJ.Array.getSelect(oArrs,oStr); //按条件筛选数组元素
webTJ.display(oBrrs,1);

17、二维数组列变换  [返回]

## 函数
    webTJ.Array.getCTransform(arrs,mstr);
##参数
    【arrs,mstr】
    【二维数组,变换条件表达式】

代码样例

webTJ.clear();
var oArrs=[[3,2,5,1],[2,5,4,3],[3,1,2,4],[2,1,1,5],[4,1,3,1]];  
webTJ.display(oArrs,1);
var oTs=webTJ.Matrix.getInsertCol(oArrs,4);          //给数组oArrs添加一列(这里引用矩阵类函数)
webTJ.display(oTs,1);
var oStr="Items[i][4]=Items[i][0]*Items[i][2]";         //设置筛选条件为第1列每行大于等于3,第3列每行小于4
var oBrrs=webTJ.Array.getCTransform(oTs,oStr);     //按条件筛选数组元素
webTJ.display(oBrrs,1);

18、二维数组行变换  [返回]

## 函数
    webTJ.Array.getRTransform(arrs,mstr);
##参数
    【arrs,mstr】
    【二维数组,变换条件表达式】

代码样例

webTJ.clear();
var oArrs=[[3,2,5,1],[2,5,4,3],[3,1,2,4],[2,1,1,5],[4,1,3,1]];
webTJ.display(oArrs,1);
var oTs=webTJ.Matrix.getInsertRow(oArrs,5);          //给数组oArrs添加一行(这里引用矩阵类函数)
webTJ.display(oTs,1);  
var oStr="Items[5][j]=Items[1][j]+Items[2][j]";      //设置筛选条件为第5行等于第2、3行相加
var oBrrs=webTJ.Array.getRTransform(oTs,oStr);       //按条件筛选数组元素
webTJ.display(oBrrs,1);

19、二维数组按列求和  [返回]

## 函数
    webTJ.Array.getCSum(arrs,col);
##参数
    【arrs,col】
    【二维数组,求和列】

代码样例

webTJ.clear();
var oArrs=[[3,2,5,1],[2,5,4,3],[3,1,2,4],[2,1,1,5],[4,1,3,1]];
webTJ.display(oArrs,1);
var oV=webTJ.Array.getCSum(oArrs,0);       //将数组第一列元素求和
webTJ.display(oV,0);

20、一维数组变换  [返回]

## 函数
    webTJ.Array.getArrTransform(arr,mstr);
##参数
    【arr,mstr】
    【一维数组,转换表达式】

代码样例

webTJ.clear();
var oArr=[3,2,5,1,2,5,4,3,3,1,2,4,2,1,1,5,4,1,3,1];
webTJ.display(oArr,0);
var oStr="Item[i]=Math.pow((Item[i]-3),2)";        //数组每个元素减3后平方
var oBrr=webTJ.Array.getArrTransform(oArr,oStr);   //将数组各元素按表达式转换
webTJ.display(oBrr,0);

21、一维数组分组及频数、频率统计  [返回]

## 函数
    webTJ.Array.getGroup(arr,garr);
##参数
    【arr,garr】
    【待分组一维数组,分组组限数组】

代码样例

webTJ.clear();
var oArr=[60,42,75,41,72,85,74,63,73,61,92,74,62,81,61,85,74,51,83,81];
var oGrrs=[[0,60],[60,70],[70,80],[80,90],[90,100]];
var oArrs=webTJ.Array.getGroup(oArr,oGrrs);     //按组限分组
webTJ.display(oArrs,1);

22、一维数组求第k最大元素  [返回]

## 函数
    webTJ.Array.getLarge(arr,k);
##参数
    【arr,k】
    【一维数组,第k最大】

代码样例

webTJ.clear();
var oArr=[60,42,75,41,72,85,74,63,73,61,92,74,62,81,61,85,74,51,83,81];
var oMax1=webTJ.Array.getLarge(oArr,1);     //求最大元素
webTJ.display(oMax1,0);
var oMax2=webTJ.Array.getLarge(oArr,2);     //求第2最大元素
webTJ.display(oMax2,0);

23、一维数组求第k最小元素  [返回]

## 函数
    webTJ.Array.getSmall(arr,k);
##参数
    【arr,k】
    【一维数组,第k最小】

代码样例

webTJ.clear();
var oArr=[60,42,75,41,72,85,74,63,73,61,92,74,62,81,61,85,74,51,83,81];
var oSmall1=webTJ.Array.getSmall(oArr,1);     //求最小元素
webTJ.display(oSmall1,0);
var oSmall2=webTJ.Array.getSmall(oArr,2);     //求第2最小元素
webTJ.display(oSmall2,0);

24、获得多维数组指定列  [返回]

## 函数
    webTJ.Array.getColData(arrs,col);
##参数
    【arrs,col】
    【二维数组,列数】

代码样例

webTJ.clear();
var oArrs=[[3,2,5,1],[2,5,4,3],[3,1,2,4],[2,1,1,5],[4,1,3,1]];
var oColData=webTJ.Array.getColData(oArrs,1); //获得数组第2列
webTJ.display(oColData,0);

25、提取一维数组不重复元素  [返回]

## 函数
    webTJ.Array.getUniquity(arr);
##参数
    【arr】
    【一维数组】

代码样例

webTJ.clear();
var oArr=[60,42,75,41,75,85,74,63,73,60,"a",74,62,81,61,"b",74,51,"a",81];
var oUrr=webTJ.Array.getUniquity(oArr);    //提取一维数组不重复元素
webTJ.display(oUrr,0);

26、统计一维数组(单项式)不重复元素频数和频率  [返回]

## 函数
    webTJ.Array.getURate(arr,urr);
##参数
    【arr,urr】
    【一维样本数组,不重复元素数组】

代码样例

webTJ.clear();
var oArr=[60,42,75,41,75,85,74,63,73,60,"a",74,62,81,61,"b",74,51,"a",81];
var oUrr=webTJ.Array.getUniquity(oArr);        //提取一维数组不重复元素
var oSrrs=webTJ.Array.getURate(oArr,oUrr);     //根据不重复项统计一维频数和频率
webTJ.show(oSrrs,2);

27、一维数组中匹配元素位置(返回数组)  [返回]

## 函数
    webTJ.Array.getItemPos(arr,str);
##参数
    【arr,str】
    【一维样本数组,匹配元素】

代码样例

webTJ.clear();
var oArr=[60,42,75,41,75,85,74,63,73,60,"a",74,62,81,61,"b",74,51,"a",81];
var oStr="a";                                  //匹配元素值
var oPrr=webTJ.Array.getItemPos(oArr,oStr);    //一维数组中匹配元素位置
webTJ.display(oPrr,0);

28、单项式分组样本转换为单项式样本  [返回]

## 函数
    webTJ.Array.getMonomial(arrs);
##参数
    【arrs】
    【二维样本数组】

代码样例

webTJ.clear();
var oArrs = [[107,3],[112,5],[118,8],[123,14],[127,10],[132,6],[138,4]];
var oSrr=webTJ.Array.getMonomial(oArrs);    //根据权数将分组样本转换为单项式
webTJ.display(oSrr,0);

注:该函数将单项式分组样本转换为单项式样本,从而利用单项式统计公式计算平均数等指标,不用单独用加权公式来计算。对于组距式样本,可按组中值化为单项式分组样本

二、数组函数在统计数据处理中的运用###

1、数据模拟和统计单项式分组样本

I、  模拟生成均值为75、标准差为15的1000名学生成绩;
II、 如果个别模拟成绩超过100分则改为100分;
III、将数据按10列表格显示,并复制、粘贴模拟数据到EXCEL;
IV、 按0-59、60-69、70-79、80-89、90-100对学生成绩进行分组;
V、  显示分组数据表

代码样例

1.  webTJ.clear();
2.  var oArr=webTJ.Array.getNormal(1000,75,15,0);
3.  var oStr="Item[i]>100";                       
4.  var oCount=webTJ.Array.getCountif(oArr,oStr);  
5.  webTJ.display("共有"+oCount+"模拟成绩大于100!",0);
6.  oStr="Item[i]<60";
7.  oCount=webTJ.Array.getCountif(oArr,oStr);  
8.  webTJ.display("不及格的学生为"+oCount+"名!",0);
9.  oStr="if (Item[i]>100) {Item[i]=100;}";
10. oArr=webTJ.Array.getArrTransform(oArr,oStr);
11. var oArrs=webTJ.Array.getArrsfromArr(oArr,10);
12. webTJ.show(oArrs,2);
13. //用鼠标选中表中数据复制、粘贴到EXCEL中
14. var oGrrs=[[0,60],[60,70],[70,80],[80,90],[90,101]];
15. oArrs=webTJ.Array.getGroup(oArr,oGrrs);
16. var oRowv=["下限","上限","频数","累计频数","频率","累计频率"];
17. oArrs=webTJ.Matrix.getInsertRRow(oArrs,oRowv,0);
18. webTJ.show(oArrs,2);

注:运行代码样例前去掉每行代码的标号,逐行运行和调试参数,理解每行代码的含义,坚持完成全部样例代码

代码功能

2.  生成1000个均值为75、标准差为15的学生成绩,并赋值给一维数组变量oArr;
3.  设置一维数组变量(oArr)一般项(Item[i])满足条件,即数组元素大于100;
4.  统计大于100的数组元素;
6.  设一般项小于60,即不及格;
7.  统计不及格人数;
9.  设置数组元素转换条件和转换方法,即如果数组某元素大于100,则转换为100;
10. 将数组元素中大于100的元素转换为100;
11. 将一维数组转换为二维数组(10列);
14. 设定分组标准数组;
15. 对修改过的学生成绩一维数组进行分组,并将分组结果赋值给二维变量Arrs;
16. 设定表头一维数组;
17. 将表头插入分组数据第一行;
18. 显示分组数据表 

2、系统数据导入和处理

I、  导入系统数据(5000名学生注册信息格式化字符);
II、 截取、并显示前100个字符;
III、根据格式字符分隔符将所有注册信息转化为二维数组;
IV、 表格形式显示数组前20条信息;
V、  哪些学生是3月20出生?
VI、 筛选来自吉林省考试全部达到80分的男生;

代码样例

1.  webTJ.clear();
2.  var oIDName = "webGSData_students";
3.  var oStr = webTJ.getGSData(oIDName);
4.  webTJ.display(oStr.substr(0,100),0);
5.  var oArrs=webTJ.getArrs(oStr,"|","&");
6.  var oCDS="i<21";
7.  var oBrrs=webTJ.Array.getSelect(oArrs,oCDS);
8.  webTJ.display("包括标题共有"+oBrrs.length+"条数据!",0);
9.  webTJ.show(oBrrs,2);
10. oCDS="parseInt(Items[i][5].split('-')[1])==3 && parseInt(Items[i][5].split('-')[2])==20";
11. oBrrs=webTJ.Array.getSelect(oArrs,oCDS);
12. oBrrs=webTJ.Matrix.getInsertCol(oBrrs,0);
13. var oStr="Items[i][0]=i";
14. oBrrs=webTJ.Array.getCTransform(oBrrs,oStr);
15. oBrrs[0][0]="序号";
16. webTJ.display("3月20日生日学生列表(人数:"+oBrrs.length+")",0);
17. webTJ.show(oBrrs,2);
18. oCDS="Items[i][1]=='男' && Items[i][2]=='吉林' && Items[i][7]>=80 && Items[i][8]>=80 && Items[i][9]>=80";
19. oBrrs=webTJ.Array.getSelect(oArrs,oCDS);
20. oBrrs=webTJ.Matrix.getInsertCol(oBrrs,0);
21. var oStr="Items[i][0]=i";
22. oBrrs=webTJ.Array.getCTransform(oBrrs,oStr);
23. oBrrs[0][0]="序号";
24. webTJ.display("吉林省全部及格男生(人数:"+oBrrs.length+")",0);
25. webTJ.show(oBrrs,2);

代码功能

2.  为了导入数据方便设置系统数据(5000学生注册信息)名称变量;
3.  按系统数据名称数据(字符型);
4.  显示前100个字符(substr(0,100)为JS字符截取函数);
5.  根据字符串分隔符将数据转换为二维数组;
6.  设置二维数组(表格)显示条件(i<21:i指行数,即显示前21行);
7.  按指定条件筛选数据并赋值给数组变量oBrrs;
10. 设置学生生日筛选条件(split、parseInt为JS函数,目的是在拆分生日列的月和日);
11. 按给定出生月和日筛选数据;
12. 为个输出表格添加序号,先在数组最左面添加列(此处调用的是webTJ.Matrix矩阵类函数);
13. 为第1列(添加列)设置序号顺序变量;
14. 在二维数组中第1列按行赋值为序号;
15. 为二维数组第1行第1列(左上角)元素标题;
18. 设置筛选条件(吉林省考试全部达到80分的男生) 

三、在线数据操作练习###

代码窗口

注:可将例题实例代码复制、粘贴到“代码窗口”,点击“运行代码”获得计算结果(鼠标选择实例代码$ ightarrow$Ctrl+C:复制$ ightarrow$鼠标点击“代码窗口”使其获得焦点$ ightarrow$Ctrl+V:粘贴)

运行效果

原文地址:https://www.cnblogs.com/cloudtj/p/6539231.html