5-41 WPS JS宏 数组迭代基础测试与双数组迭代的使用方法测试

数组迭代基础测试与双数组迭代的使用方法测试

一、 数组迭代基础测试

function 数组迭代基础测试()

{

var arr=[[98,99,100],[85,86,87],[99,100,98],[100,100,100]];

5-15 数组转换迭代-map测试

//对数组元素循环处理可以使用map方法,此方法将调用数组的每个元素传入给指定的函数,并返回一个新数组。

//使用方法:A1=数组.map((值,索引,数组)=>公式或方法)

var arr1=arr.map(v=>v[1]*10);

//监视窗口:arr1=[990,860,1000,1000];Array/object

var arr11=arr.map(v=>v[1]>15);

//监视窗口:arr11=[true,true,true,true];Array/object

5-18 数组的筛选迭代-filter

var arr=[[98,99,100],[85,86,87],[99,100,98],[100,100,100]];

//filter:

//统计符合条件的数组内容并组合成一个新数组

var arr2=arr.filter(v=>v[1]>90);

//监视窗口:arr2=[Array(3),Array(3),Array(3)];Array/object

var arr21=arr.filter(v=>v[0]===98);

//监视窗口:arr21=[Array(3)];Array/object

var arr22=arr.filter(v=>v[0]=98);//注意!注意!注意!这里替换了原数组值。

Console.log(`${arr22}`);

//打印结果:98,99,100,98,86,87,98,100,98,98,100,100

5-19 数组的查找迭代-find系列函数

var arr=[[98,99,100],[85,86,87],[99,100,98],[100,100,100]];

//find与findIndex:

//为迭代查找值,根据条件语句find从左查起,findIndex从右查起,返回遇见的第一个对应参数值

//使用方法:A1=数组.find((值、索引号、数组)=>公式或方法)

var arr3=arr.find(v=>v[1]>15);

//监视窗口:arr3=[98,99,100];Array/object

5-21 数组的归并迭代-reduce与reduceRight

var arr=[[98,99,100],[85,86,87],[99,100,98],[100,100,100]];

//reduce与reduceRight:

//归并函数是将元素中的多个值归并成一个值(如:数组所有值+-*/的结果),reduce表示从左向右操作,reduceRight表示从右向左操作。

var arr4=arr.reduce((x,y)=>x+y);

//监视窗口:arr4="98,99,10085,86,8799,100,98100,100,100";string

var arr41=arr.reduce((x,y)=>(x[0]>y[0])?x:y);

//监视窗口:arr41=[100,100,100];Array/object

5-20 数组的[与或]迭代-every与some

var arr=[[98,99,100],[85,86,87],[99,100,98],[100,100,100]];

every:

//为数组的所有元素值条件成立,返回true与false。

var arr5=arr.every(v=>v[1]>15);

//监视窗口:arr5=true;boolean

some:

//为数组中的元素值至少1个成立,返回true与false。

var arr6=arr.some(v=>v[1]>15);

//监视窗口:arr6=true;boolean

//Console.log(`${arr21}`);

}

二、双数组迭代的使用方法测试

1. 数组迭代map与find组合测试

function 数组迭代map与find组合测试()

{

//map:对数组元素等循环处理,将调用数组的每个元素传入给指定的函数,并返回一个新数组。

//find:为迭代查找值,根据条件语句,返回对应参数值

var arr1=[[98,99,100],[85,86,87],[99,100,98],[99,100,100]];

//监视窗口:arr1=[Array(3),Array(3),Array(3),Array(3)];Array/object

var arr=[85,88,99];

var NewArr=arr.map(d=>arr1.find(ar=>ar[0]==d));

//监视窗口:NewArr=[Array(3),undefined,Array(3)];Array/object

Console.log(JSON.stringify(NewArr));

//打印结果:[[85,86,87],null,[99,100,98]]

Console.log(JSON.stringify(NewArr[0]));

//打印结果:[85,86,87]//返回对应参数值

}

2. 数组迭代map与filter组合测试

function 数组迭代map与filter组合测试()

{

//map:对数组元素等循环处理,将调用数组的每个元素传入给指定的函数,并返回一个新数组。

//filter:统计符合条件的数组内容并组合成一个新数组

var arr1=[[98,99,100],[85,86,87],[99,100,98],[99,100,100]];

//监视窗口:arr1=[Array(3),Array(3),Array(3),Array(3)];Array/object

var arr=[85,88,99];

var NewArr=arr.map(d=>arr1.filter(ar=>ar[0]==d));

//监视窗口:NewArr=[Array(1),Array(0),Array(2)];Array/object

Console.log(JSON.stringify(NewArr));

//打印结果:[[[85,86,87]],[],[[99,100,98],[99,100,100]]]

Console.log(JSON.stringify(NewArr[0]));

//打印结果:[[85,86,87]]//符合条件的数组内容并组合成一个新数组

}

3. 数组迭代map与some组合测试

function 数组迭代map与some组合测试()

{

//map:对数组元素等循环处理,将调用数组的每个元素传入给指定的函数,并返回一个新数组。

//filter:统计符合条件的数组内容并组合成一个新数组

var arr1=[[98,99,100],[85,86,87],[99,100,98],[99,100,100]];

//监视窗口:arr1=[Array(3),Array(3),Array(3),Array(3)];Array/object

var arr=[85,88,99];

var NewArr=arr.map(d=>arr1.some(ar=>ar[0]==d));

//监视窗口:NewArr=[true,false,true];Array/object

Console.log(JSON.stringify(NewArr));

//打印结果:[true,false,true]

Console.log(JSON.stringify(NewArr[0]));

//打印结果:true//符合条件的数组内容并组合成一个新数组

}

复制代码
数组迭代基础测试与双数组迭代的使用方法测试

一、数组迭代基础测试

function 数组迭代基础测试()
{
var arr=[[98,99,100],[85,86,87],[99,100,98],[100,100,100]];

5-15 数组转换迭代-map测试
//对数组元素循环处理可以使用map方法,此方法将调用数组的每个元素传入给指定的函数,并返回一个新数组。
//使用方法:A1=数组.map((值,索引,数组)=>公式或方法)
var arr1=arr.map(v=>v[1]*10);
//监视窗口:arr1=[990,860,1000,1000];Array/object
var arr11=arr.map(v=>v[1]>15);
//监视窗口:arr11=[true,true,true,true];Array/object



5-18 数组的筛选迭代-filter
var arr=[[98,99,100],[85,86,87],[99,100,98],[100,100,100]];

//filter:
//统计符合条件的数组内容并组合成一个新数组
var arr2=arr.filter(v=>v[1]>90);
//监视窗口:arr2=[Array(3),Array(3),Array(3)];Array/object

var arr21=arr.filter(v=>v[0]===98);
//监视窗口:arr21=[Array(3)];Array/object

var arr22=arr.filter(v=>v[0]=98);//注意!注意!注意!这里替换了原数组值。
Console.log(`${arr22}`);
//打印结果:98,99,100,98,86,87,98,100,98,98,100,100



5-19 数组的查找迭代-find系列函数
var arr=[[98,99,100],[85,86,87],[99,100,98],[100,100,100]];

//find与findIndex:
//为迭代查找值,根据条件语句find从左查起,findIndex从右查起,返回遇见的第一个对应参数值
//使用方法:A1=数组.find((值、索引号、数组)=>公式或方法)
var arr3=arr.find(v=>v[1]>15);
//监视窗口:arr3=[98,99,100];Array/object

5-21 数组的归并迭代-reduce与reduceRight
var arr=[[98,99,100],[85,86,87],[99,100,98],[100,100,100]];

//reduce与reduceRight:
//归并函数是将元素中的多个值归并成一个值(如:数组所有值+-*/的结果),reduce表示从左向右操作,reduceRight表示从右向左操作。

var arr4=arr.reduce((x,y)=>x+y);
//监视窗口:arr4="98,99,10085,86,8799,100,98100,100,100";string

var arr41=arr.reduce((x,y)=>(x[0]>y[0])?x:y);
//监视窗口:arr41=[100,100,100];Array/object

5-20 数组的[与或]迭代-every与some
var arr=[[98,99,100],[85,86,87],[99,100,98],[100,100,100]];

every:
//为数组的所有元素值条件成立,返回true与false。
var arr5=arr.every(v=>v[1]>15);
//监视窗口:arr5=true;boolean

some:
//为数组中的元素值至少1个成立,返回true与false。
var arr6=arr.some(v=>v[1]>15);
//监视窗口:arr6=true;boolean
//Console.log(`${arr21}`);
}



2.双数组迭代的使用方法测试
1.数组迭代map与find组合测试
function 数组迭代map与find组合测试()
{
	//map:对数组元素等循环处理,将调用数组的每个元素传入给指定的函数,并返回一个新数组。
	//find:为迭代查找值,根据条件语句,返回对应参数值
	var arr1=[[98,99,100],[85,86,87],[99,100,98],[99,100,100]];
//监视窗口:arr1=[Array(3),Array(3),Array(3),Array(3)];Array/object

	var arr=[85,88,99];
	var NewArr=arr.map(d=>arr1.find(ar=>ar[0]==d));

//监视窗口:NewArr=[Array(3),undefined,Array(3)];Array/object
Console.log(JSON.stringify(NewArr));
//打印结果:[[85,86,87],null,[99,100,98]]

Console.log(JSON.stringify(NewArr[0]));
//打印结果:[85,86,87]//返回对应参数值
}

2.数组迭代map与filter组合测试
function 数组迭代map与filter组合测试()
{
	//map:对数组元素等循环处理,将调用数组的每个元素传入给指定的函数,并返回一个新数组。
	//filter:统计符合条件的数组内容并组合成一个新数组	
	var arr1=[[98,99,100],[85,86,87],[99,100,98],[99,100,100]];
//监视窗口:arr1=[Array(3),Array(3),Array(3),Array(3)];Array/object

	var arr=[85,88,99];
	var NewArr=arr.map(d=>arr1.filter(ar=>ar[0]==d));
//监视窗口:NewArr=[Array(1),Array(0),Array(2)];Array/object

Console.log(JSON.stringify(NewArr));
//打印结果:[[[85,86,87]],[],[[99,100,98],[99,100,100]]]

Console.log(JSON.stringify(NewArr[0]));
//打印结果:[[85,86,87]]//符合条件的数组内容并组合成一个新数组
}

3.数组迭代map与some组合测试
function 数组迭代map与some组合测试()
{
	//map:对数组元素等循环处理,将调用数组的每个元素传入给指定的函数,并返回一个新数组。
	//filter:统计符合条件的数组内容并组合成一个新数组	
	var arr1=[[98,99,100],[85,86,87],[99,100,98],[99,100,100]];
//监视窗口:arr1=[Array(3),Array(3),Array(3),Array(3)];Array/object

	var arr=[85,88,99];
	var NewArr=arr.map(d=>arr1.some(ar=>ar[0]==d));
//监视窗口:NewArr=[true,false,true];Array/object

Console.log(JSON.stringify(NewArr));
//打印结果:[true,false,true]

Console.log(JSON.stringify(NewArr[0]));
//打印结果:true//符合条件的数组内容并组合成一个新数组
}
相关推荐
yivifu11 分钟前
手搓HTML双行夹批效果
前端·html·html双行夹注
奔跑的卡卡1 小时前
Web开发与AI融合-第一篇:Web开发与AI融合的时代序幕
前端·人工智能
IT_陈寒1 小时前
Redis批量删除的大坑,差点让我加班到天亮
前端·人工智能·后端
帆张芳显1 小时前
智表ZCELL产品V3.6 版发布,新增系统预置右键菜单操作、页签栏操作等功能
前端·canva可画·excel插件
漂流瓶jz1 小时前
运行时vs编译时:CSS in JS四种主流方案介绍和对比
前端·javascript·css
Asmewill1 小时前
uv包管理命令
前端
发现一只大呆瓜1 小时前
深入浅出 Tree Shaking:Rollup 是如何“摇”掉死代码的?
前端·性能优化·vite
weixin199701080162 小时前
《转转商品详情页前端性能优化实战》
前端·性能优化
钮钴禄·爱因斯晨2 小时前
他到底喜欢我吗?赛博塔罗Java+前端实现,一键解答!
java·开发语言·前端·javascript·css·html
Watermelo6172 小时前
理解 JavaScript 中的“ / ”:路径、资源与目录、nginx配置、请求、转义的那些事
前端·javascript·vue.js·chrome·nginx·正则表达式·seo