10-1. 数组 Array 的基本用法

本文参考 JavaScript Array 对象 | 菜鸟教程

JS的数组与python中的列表相似,可以存储任意数据类型元素,声明时用逗号将其隔开

目录

1  创建数组

1.1  中括号创建

1.2  new创建

2  获取数组指定位置元素

3  length属性

4  遍历数组

5  获取数组中的最大值

6  追加数组元素

7  替代数组元素

8  一些常用的案例

8.1  筛选出数组中大于等于10的数

8.2  删除数组中的指定值

8.3  冒泡排序

8.4  数组去重

8.4.1  方法一

8.4.2  方法二

9  返回其他变量的数组形式 Array.from()

9.1  基本使用

9.2  将伪数组转换为真数组

10  判断变量是否为数组 Array.isArray()


1  创建数组

1.1  中括号创建

注意使用typeof的时候返回的对象是object

1.2  new创建

效果与中括号创建相同

如果你这样写那么就会给你一个数组里面有两个空元素

写两个及以上以上代表往数组中放的元素

2  获取数组指定位置元素

我们通过索引获取,比如我们现在想要获取0号元素

如果索引的号超出了数组的长度会返回undefined,比如我现在要获取5号元素

3  length属性

我们可以通过length获取数组元素的个数

我们也可以设置length,比如我们现在想将其设置为8

虽然只有5个元素,但是他的长度是8,剩下的三个是empty,我们索引一下6号元素看看

发现是undefined

4  遍历数组

我们使用循环进行遍历

  • 注意条件不要写等于号,如果写了就少遍历最后一个元素,因为一个是位置(有0),一个是长度(没0)

i是遍历的起始点,可以从0开始,也可以从别的位置开始。条件也可以不遍历到最后,遍历到指定位置也可以

我们可以通过遍历的方式获取一个数组的加和

如果想取平均值就用总和除长度

我们也可以通过for in 的方式进行遍历

此时的i是索引,这样我们就可以不通过length属性遍历

5  获取数组中的最大值

  • max的第一次赋值不要给0,因为如果数组都是负数我们得到的最大值是0
  • 为了少比较一次我们就从1号位开始遍历,如果从0号位开始也是可以的

如果要获取最小值就把小于号改成大于号就行

6  追加数组元素

我们通过给大于原有索引号的索引赋值来追加数组元素

如果想给下一个就写5,像我这样没给下一个的情况,中间会出现empty,empty就是undefined,我们可以通过上面的方法给empty赋值

如果我们就像在最后一个添加,我们配合length就可以了

7  替代数组元素

给已有的索引进行赋值可以替代原来的元素

8  一些常用的案例

8.1  筛选出数组中大于等于10的数

我们还可以这样写

效果是一样的

8.2  删除数组中的指定值

我们现在把数组中值为0的元素都删掉

8.3  冒泡排序

升序排列是这样的

num是冒泡排序的趟数,冒泡排序至多不超过n-1趟就一定可以达到效果

for循环是交换变量的过程,每一趟至多交换 长度-趟数-1 次 就一定可以达到效果

降序排列把小于号换成大于号就可以了

8.4  数组去重

方法有很多,我们写几个

8.4.1  方法一

查左右两侧的索引是否一致,如果不一致就给右面的删了,这样写不需要添加新的变量

8.4.2  方法二

给一个新的数组,如果新数组中没有老数组中的值就添加进去

  • 注意索引比arr.length少一个,所以是i<arr.length而不是小于等于

9  返回其他变量的数组形式 Array.from()

9.1  基本使用

返回值为数组,原值不变

数字型与布尔型都不会被拆开

还有其他的参数,但用的地方不多,详情可以看一下 JavaScript from() 方法 | 菜鸟教程

9.2  将伪数组转换为真数组

伪数组是看着像数组,但实际不是数组的变量,比如document.queryselectorAll()的返回值

10  判断变量是否为数组 Array.isArray()

我们也可以用 instanceof Array来检测变量是否是数组

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Suyuoa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值