10.31-js-数组

84 阅读2分钟

1.认识数组---内置对象

for...in...循环在数组上找不到任何属性

创建数组

image.png

image.png

2.数组常用方法

2.1增加&删除(尾部添加push,删除pop)----使用splice也可以删除、增加

使用splice也可以删除,也可以增加 image.png

2.2判断是否为数组Array.isArray()

image.png

2.3找出某个元素在数组中的索引---indexOf()---只找到第一个匹配的&找不到返回-1

fruits.push('Mango')
// ["Strawberry", "Banana", "Mango"]

let pos = fruits.indexOf('Banana')
// 1

2.4截取---splice&slice

2.4.1splice()----会改变数组长度---删除数组中元素、替换、添加元素

参数,可以设置三个以上参数-----(开始位置(包含),删除个数))

image.png

2.4.2slice()----不会改变数组---可以从数组中提取元素---字符串和数组都可以使用--参数两个(开始位置(包含),结束位置(不包含,可以省略不写))

参数-----(开始位置(包含),结束位置(不包含,可以省略不写))---索引可以传递负值 是否改变原数组-----不改变原数组,封装到一个新数组返回,可以新建数组来接收---重要

image.png

2.4.3两者的区别-----重要‼️

参数不同

是否改变原数组

功能不同----一个是提取,另一个可以删除、增加、替换(使用splice无法替换无效果,尽量不说)

2.5遍历数组

2.5.1for循环遍历---注意for...in与for of的区别

image.png for...of----可以拿到值,for...in可以拿到下标值(数组) for...in----拿到对象的属性,对对象不可以使用for...of...会报错

2.5.2forEach()---需要一个函数做参数---数组有几个元素执行几次

IE8以上才支持,使用forEach()才不会出错

共有三个参数,第一个value\第二个是index\第三个是正在遍历的数组 image.png 使用

image.png 输出结果

image.png

2.6数组去重-----重要

blog.csdn.net/aadcb/artic…

2.6.1双重for循环思想---逐一比较(j从i+1开始)---需要使j--再检查一遍,防止

j从i+1开始

image.png

image.png

2.6.2利用indexOf判断是否存在于新数组中

image.png

2.6.3set方法---需要通过Array.from()将类数组转换成数组

案例:

image.png image.png

2.7其余常用方法

blog.csdn.net/weixin_6407…

2.7.1Array.from()

image.png

2.7.2sort排序()

适用于数组排序

2.7.3其他遍历方法

some&every image.png filter---返回一个新数组 image.png map---必须使用return---返回一个新数组

image.png

2.7.4数组内部求和---reduce

image.png