欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

小程序编程第14课

程序员文章站 2024-03-25 14:09:16
...

教程

各位战友好,今天是我们的第14课,这节课我们学一个新的数据类型:数组

数组是什么东西呢?

使用单独的变量名来存储一系列的值

数组就像一个列表一样,比如下图

小程序编程第14课
比如这是我一天要做的几件事情:看报,读书,洗脸,刷牙,吃饭

我们可以定义5个变量来存储这5件事情,但是我们如果有10件事情呢?或者100件事情呢?那我们是不是要定义10个变量,或者100个变量呢?

这太麻烦了!

我们想要把这些所有的事情存在一个变量里,这就需要用到数组,如果用数组来装这几件事如何装呢?

我们先打开小程序开发工具,打开调试器,切换console面板

let todos = ['看报','读书','洗脸','刷牙','吃饭']

等号左边我们能看懂,等号右边就是数组。右边是什么意思呢?就从格式上面来看,是有规律的。这里面有我们能看懂的东西,比如那些代办事项就是字符串。待办事项与待办事项之间有逗号分隔。第一个事项前面有一个中括号,最后一个事项后面也有一中括号。

我们把这里的代办事项成为数组的元素,这里的每个元素都是有编号的。排在第一的元素它的位置是0,也就是看报的位置是0,读书的位置是1,洗脸的位置是2,以此类推

这有点违反我们的直觉,为什么排在第一的元素位置却是0呢?不应该是1吗?

这个我就不深究了,反正大多数编程语言的规定就是如此。所以要切记,位置是从0开始的。

那现在我们就创建了一个数组了。这个数组我们能干嘛呢?

我们可以访问数组的某个位置的元素。

比如我们想要知道位置2的元素是什么,我们该怎么写呢?

todos[2]

这样就能访问到这个todos数组的位置为2的元素了。执行返回了洗脸,我们看看它的位置确实是2,那就是正确的。

那我们访问位置10的元素呢?目前位置10根本没有任何元素,那会出现什么情况?

我们试试

todos[10]

返回了undefined,也就是说未定义,我们的确没有定义位置10等于多少

我们还可以改某个元素的值,比如我们想把看报改成玩手机,那我们应该如何操作呢?

todos[0] = '玩手机'

因为看报的位置是0,所以我们可以像上面这样操作。

这样操作的意思也挺明显的,等号就是赋值的意思,我们把右边的字符串赋值给了左边的变量。只不过此时左边的变量是数组的某个位置而已

然后我们看看是不是改成功了,我们访问一下

todos[0]

发现返回的就是玩手机,说明改成功了

那我们可以不可以增加一个元素呢?

比如我们想要在吃饭后面增加一个元素写作,我们该怎么操作呢?

todos.push('写作')

执行完之后,返回了数字6,这个意思就是现在的数组长度变成了6,也就是说目前数组里面装了6个元素

上面这句话的意思是啥呢?todos是一个变量,它也是一个数组,数组也是一个对象。数组自带一些方法(函数),就好像小孩天生就会吃喝拉撒一样。

todos.push的意思是访问push这个属性,因为push这个属性正好是一个函数,所以我们可以运用()来调用,然后传递了一个参数写作,于是就增加成功了。

数组还有很多属性和方法,以后我们遇到再慢慢讲。

今天需要讲一个常用的属性,那就是数组的长度。

这个我们怎么获取呢?可以这样

todos.length

你可以看到返回了6,说明目前这个数组里面有6个元素。

数组里面的元素也像对象的属性值一样,可以是任何类型的东西。这里装的是字符串,实际上还可以装数字,还可以装对象,甚至还可以是数组。

这个数组有什么作用呢?

用处很大,比如今天提到的待办事项列表就是可以用到数组,比如我们还会用数组来存一些列表数据,比如客户信息,车辆信息,电影信息。每个客户是一个元素,每辆车就是一个元素,每部电影也是一个元素。

我们常常会结合循环来使用数组。

比如我们事先不知道这个todos数组中的洗脸在什么位置,我们就可以通过循环来找到它,并打印出它的位置

比如结合for循环和if条件判断,我们就可以找到洗脸的位置

for(let i = 0;i<todos.length;i++){
   if(todos[i] === '洗脸'){
    console.log(i)
    break;
  }
}

上面todos[i]是什么意思呢?这个意思就是访问todos数组的第i个位置的元素。因为i是随着循环的变化而变化的,所以每一轮i的值都不一样,i是从0开始的,也就是从数组的0号位置开始访问,一直到数组结尾。

这里每一次循环都会判断todos[i]元素的值是不是等于洗脸,如果是那就打印,并中断循环。

我们还可以定义一个空数组

let arr = []

这个数组里面,没有任何元素。我们可以一个一个push进去,比如利用循环往里面装1-10的数字

for(let i = 1;i<11;i++){
  arr.push(i)
}

然后我们访问arr,我们发现arr就是长这样

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

关于数组就介绍到这里,留一个作业

作业

我们有一串数字列表的数组[234,12,4,6,4545,332,7560,78,89,99,909,34,255,488,76,5]

我们想要找到这串数字列表中大于100的数字。并把他们打印出来。这怎么做?

参考答案

let numbers = [234,12,4,6,4545,332,7560,78,89,99,909,34,255,488,76,5]
for(let i = 0; i<numbers.length;i++){
  if(numbers[i]>100){
    console.log(numbers[i])
  }
}
相关标签: 小程序编程教程