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//符合条件的数组内容并组合成一个新数组
}
相关推荐
摘星编程1 小时前
OpenHarmony + RN:Placeholder文本占位
javascript·react native·react.js
a1117762 小时前
医院挂号预约系统(开源 Fastapi+vue2)
前端·vue.js·python·html5·fastapi
0思必得02 小时前
[Web自动化] Selenium处理iframe和frame
前端·爬虫·python·selenium·自动化·web自动化
行走的陀螺仪4 小时前
uni-app + Vue3编辑页/新增页面给列表页传参
前端·vue.js·uni-app
摘星编程5 小时前
React Native + OpenHarmony:Spinner旋转加载器
javascript·react native·react.js
We་ct5 小时前
LeetCode 205. 同构字符串:解题思路+代码优化全解析
前端·算法·leetcode·typescript
2301_812731415 小时前
CSS3笔记
前端·笔记·css3
ziblog6 小时前
CSS3白云飘动动画特效
前端·css·css3
越努力越幸运5086 小时前
CSS3学习之网格布局grid
前端·学习·css3
半斤鸡胗6 小时前
css3基础
前端·css