第一百零六章 数组(一)

仿佛有了变量,我们就可以处理大部分数据问题了。但是,这可能不是很方便。比如,在需要处理大量同类型数据的时候,就很乱。

没听懂?那么举例子,学校有一千个学生,要管理他们的姓名,我们搞一千个变量出来?这简直和给一千个孩子取名一样的可怕!而且以后想找也不容易啊,现在校长急需全校学生名单,而想要输出这个名单,就要先把这一千个变量的名称写出来……算了,还是手抄一份来的便捷。

所以对于这种情况,就不如把这些数据索性打个包,当做一个整体看待。把同类数据放在一起,就是数组,解释的话差不多就是一组数据的意思。当然,虽然说一组,里面只有一个也可以,一个也没有也可以,这事不要抬杠。

怎么写呢?

const names = ['王小明', '李小二', '胡大壮'];

就是方括号 [] 里面放上数据,用逗号分隔。这就简单了,我们不用给它们取名了,一个变量代表一组数据,嘿,方便!

等等,我们想用这些数据又怎么办啊?现在 names 代表的是这一组数据,而需要其中某一个呢?

这时候我们就要感叹,学号真是个伟大的发明啊!

喵喵小学,学号为 68 的同学叫做——帅小鼠!我们说过,学号这东西和学生一一对应,凭学号找人,一找一个准。说这些做什么呢?对,数组里面的数据也编上号不就好了么。

数组里的元素,自带编号,按顺序排列,唯一需要特别注意的点——序号从 0 开始!!!

所以,我们眼中的第一个元素序号是 0,而第二个元素序号是 1,以此类推……

嗯,编程什么的,一般都是从 0 开始计数。

那现在我们知道了序号,来看一下具体格式怎么去写:

const names = ['王小明', '李小二', '胡大壮'];console.log( names[1] );

在数组变量名字后面用方括号 [] 标记出序号来,就是使用这个数组中对应序号的元素了。

开始思考,假设使用变量来代表这个序号,然后改变变量的值,是不是就可以取出不同的数组项了?于是我们可以用下面的方法,通过循环,逐个取出数组中的值:

const names = ['王小明', '李小二', '胡大壮'];for(let i=0; i<3; i++){console.log( names[i] );}

这种操作叫做对数组的遍历,就是对数组中的元素都做一遍这个操作。这里是全输出了一遍。你也可以通过修改 i 的初始值和条件的限制,来控制只对数组中的部分元素执行操作。

有一个问题,比如现在需要全部输出,但是当数组中数据的个数发生增减以后,就需要修改 i<3 这个条件来适应这个变化,这就很不容易。

好在数组有一个属性,数组的长度,表示数组中元素的个数,我们来试一下:

const names = ['王小明', '李小二', '胡大壮'];console.log( names.length );

数组的名字(这里是 name)后面一个点,再后面是 length,注意点的左右不能有空格哦。那么上面数组中一共有三个项目,所以数组的长度是 3,这很好理解。而数组中项目的序号从 0 开始,就是 0、1、2,也就是最后一个数组项的序号肯定是 names.length - 1,就是比这个数组的长度小 1。

上面的遍历可以写成如下格式,这样数组的长度如何变化,for循环都可以将整个数组中所有元素输出出来。

const names = ['王小明', '李小二', '胡大壮'];for(let i=0; i<names.length; i++){console.log( names[i] );}

原文链接:https://www.ek58.com/archives/3736,转载请注明出处。

0

评论0

请先

没有账号? 注册  忘记密码?