数组的应用
- 一、数组的定义
- 二、切片
- 替换
- 删除数值元素
- 二、数组追加元素
- 三、数组与函数相结合
一、数组的定义
相当于一串数据的集合,以空格相间隔的字符串列表,两边用括号括起来
echo ${shuzu[@]}中的@代表着显示所有的下标内容,当然,也可以使用其他的
还有其他的方法可以定义数组 上面的是默认定义数组的内容,下面这个方法可以直接定义下标,甚至是不设置某个下标
可以看到上面没有设置3的下标元素
那么如何判断一个数组是否缺少元素呢?
数组的下标是由0开始,那么我们只需要查看最后一个元素是否是最后一个元素的值
因为这里是四个元素,那么下标最后一个元素的下标就应该是3,所以我们查看下标3的值,如果是最后一个值,那么说明就是不缺的,如果不相同,那么就是缺少下标元素的
补全元素之后,可以看到最后一个下标与最后一个元素值是对应的。
用脚本表达
如果不完整,用脚本的表达方式:
用脚本求数组的和
二、切片
之前学过切片的方法
变量下标的切片都是以冒号来做分割,数组的分片方法与其是一样的
替换
可以将数组里面下标的元素值进行替换
切片使用的是冒号,而替换使用/
有一点需要注意的是,会替换掉所有包含替换词的元素
但是这样替换只是看起来替换了,但是当查看的时候并没有换掉,如果需要换掉的话需要重新赋值才可以
但是只能切换第一个匹配到的数值
删除数值元素
删除口令是unset
二、数组追加元素
数组追加元素就是重新赋值
这里建立在不缺地标元素的基础之上,但是如果缺元素的话,那么就不会执行添加,而是会改变最后一个的元素值
原理:
因为这里的元素个数是0 1 3 4,下标个数是1 2 3 4,如果添加的话也是在4,所以只能改变4这个地方的元素值,那么如果是齐全的的话,下标个数就是五,这时添加元素值会在第五个元素个数位添加,所以会多赋予一个元素值。
如果添加多个元素值,可以使用:
后面也可以不加双引号,但是如果元素值直接有空格,那么系统会判定为两个元素值
三、数组与函数相结合
调用函数将旧数组乘以2变成新数组