第4天,JSA认识数组

----------

▉ 什么是数组?

普通的变量,通常只能保存一个数值,如果要保存多个数值,就要创建多个变量,效率低。

比如下面的代码,创建了abc三个变量,分别设置数值是1,2,3。

```

function test1(){

let ary=[1,2,3]

}

```

数组是一种用于存储多个值的变量类型。这样只需要创建一个变量,就可以保存多个数值。

上面的代码,用数组来创建对应的代码就是:

```

function test1(){

let ary=[1,2,3]

}

```

创建数组

上面的代码,使用了中括号来创建了一个包含1,2,3的数组,这是最简单、最常用方法。

```

function test2(){

let ary=[1,2,3]

}

```

另外,还可以使用new Array()来创建数组。

```

function test2(){

let ary=new Array(1,2,3)

}

```

需要注意的时候,如果new Array()中只有一个数字,这个数字代表的是数组的长度,内容是空的。

比如下面的代码,是用来创建长度为5的空数组。

```

function test2(){

let ary=new Array(5)

}

```

----------

▉ 如何查看数组结果

针对普通变量,可以使用alert弹窗参考数据结果。

```

function test1(){

let a=1,b=2,c=3;

alert(a);

}

```

查看指定元素

针对数组类型变量,无法使用alert弹窗显示内容,显示的内容会是空白。

```

function test3(){

let ary=[1,2,3]

alert(ary);

}

```

因为数组里面有多个数据,我没有指定要展示哪一个。设置展示哪一个后,就可以正常显示了。

比如下面的代码,用来展示数中的第2个元素,注意,数组中的第1个元素的位置是从0开始的,不是从1开始。

所以第2个元素的序号是1。

```

function test3(){

let ary=[1,2,3]

alert(ary[1]);

}

```

代码中第2行的[1,2,3]是创建数组,第3行的[1]是访问第2个元素。

查看数组的长度

另外,还可以查看数组的length属性,查看数组包含的元素的个数。

```

function test2(){

let ary1=[1,2,3]

alert(ary1.length)

let ary2=new Array(5)

alert(ary2.length)

}

```

上面的代码指定后,会依次弹窗显示3,5。

查看所有的元素

如果想要查看数组中的所有元素,需要把数组的内容合并成一个文本,可以使用join函数来实现。

```

function test4(){

let ary=[1,2,3]

alert(ary.join(","));

}

```

上面的join函数只有一个参数",",表示数组合并时的分隔符,所以就显示了上面的1,2,3。

----------

▉ 如何使用数组?

数组的作用,主要用来读取、写入单元格中的值。

填写数据到单元格

比如下面的代码中,把数组ary的数据,写入到了单元格A1:C1中去了。

```

function test5(){

let a=[1,2,3];

Range("A1:C1").Value2=a

}

```

代码中Range("A1:C1")表示引用A1:C1单元格区域,通过Value2来设置单元格的内容。

上面的代码执行结果如下:

按列填写数据到单元格

如果想要设置数据在纵向排列。代码需要修改如下:

```

function test6(){

let b =[[1],[2],[3]];

Range("A1:A3").Value2=b

}

```

JSA中的数组,默认是一维数组,填充时会横向填充数据。如果想要纵向填充数据,需要改成二维数组,代码中的变量b就是一个二维数组。

```

let b =[[1],[2],[3]];

```

===

《10个必会的JSA》教程目录

1- 什么是JSA

https://bbs.wps.cn/topic/45356

2-如何编写第1个JSA程序?

https://bbs.wps.cn/topic/45462

3-JSA认识常量和变量

https://bbs.wps.cn/topic/45544

山东省
浏览 41
收藏
2
分享
2 +1
1
+1
全部评论 1
 
wps新路

WPS函数专家

又跟着老师学到了新知识
· 重庆
回复