js数组

一、js数组方法

1、 Array.push()在数组最末尾插入元素,改变了数组长度,返回数组的长度,原数组改变了
2、 Array.pop()在数组最末尾删除一项,返回删除项,原数组改变了(去掉了最后一项)
3、 Array.unshift()在数组的最前面添加元素,返回数组长度,原数组改变了
4、 Array.shift()在数组的最前面删除一项,返回删除项,原数组改变了=
5、 Array.reverse()数组的翻转,返回翻转后结果,原数组改变了
6、 Array.sort()数组的排序,默认升序排列,可以函数作为参数指定降序等,返回排序后结果,原数组也变为排序后结果
7、Array.indexOf()即给字符查索引,返回对应索引值(缺点查不了NaN)联想.findIndex()
8、Array.concat()数组的连接,可将多个数组连接成一个新数组,返回连接成的新数组(原先各数组不会改变)
9、Array.slice()数组的截取,一个参数表示从哪开始截取。两个参数包左不包右。返回截取到的数组
10、Array.splice(开始位置, 删除的个数,元素)万能方法,可以实现增删改:返回的是截取到的新数组,无截取到则返回[] 注意:原数组也改变了
11、Array.toString()数组转为字符串,返回转成的字符串
12、Array.join()数组转为字符串 不写参数默认逗号即1,4,5这种 “”无缝连接 或可以指定字符连接
数组迭代方法
1)Array.map()数组中的每个元素调用一个提供的函数,结果作为一个新的数组返回,原来数组不变
2)Array.forEach()遍历数组,无返回值,直接改变原数组 注意和.map()区分
3)Array.every()将所有元素进行判断返回一个布尔值,如果所有元素都满足判断条件,则返回true,否则为false
4)Array.some()将所有元素进行判断返回一个布尔值,如果存在元素都满足判断条件,则返回true,若所有元素都不满足判断条件,则返回false
5)Array.filter()将所有元素进行判断,将满足条件的元素作为一个新的数组返回
6)Array.reduce()所有元素调用返回函数,返回值为最后结果,参数是函数

es6扩展

1)扩展运算符… 将数组转为用逗号分隔的参数列表 可替代函数的apply方法
2)Array.from() 用于将两类对象转为真正数组 1、可遍历的 2、类似数组的对象(就是有length属性)
3)Array.of() 将一组数值转为数组 弥补了Array()的缺陷Array(3)即[,] 而Array.of(3)即[3]
4)arr.copyWithin()三个参数 当前数组内部,将指定位置的成员复制到其他位置
5)arr.find() 找出第一个符合条件的数组成员,若都不符合返回undefined 它的参数为一个回调函数(接受三个参数) 第二个参数用来绑定回调函数中this对象
arr.findIndex() 它返回的是第一个符合条件的值的索引 可以发现NaN 弥补indexof的不足
6)arr.fill(2,0,1) 用给定值填充一个数组 。接受第二、第三个参数表示填充的起始结束位置(不写的话默认从头填充到尾)
7)arr.includes() 判断某个数组是否包含了给定值,返回布尔值 可以接受第二参数表示搜索的起始位置 可以正确判断NaN
8)arr.flat() 将嵌套的数组拉平 默认拉平一层 可以设想要拉平层数 Infinity全部拉平
9)arr.flatMap() 第一个参数函数(接受三个参数),第二个绑定this对象
先执行函数返回结果组成的新数组,在执行flat拉平一层
二、伪数组

具有length属性,可遍历,但不具备数组的各方法
伪数组转为真数组方法
1)Array.prototype.slice.call(arguments)
2)[…arguments]
3)Array.from(arguments)

三、判断是不是数组的方法

  1. arr instanceof Array
  2. arr.constructor===Array
  3. Array.isArray(arr)
    4)Object.prototype.toString.call(arr)===’[object Array]’

四、找出数组中最大值方法
1 Math.max.apply(null,arr) 利用apply可传数组作为参数,因为Math.max的参数 不是数组
2 Math.max.call(null,1,2,3,6)
3 arr.sort().reverse()[0]
4 arr.reduce(function(a,b){
return b>a?b:a;
)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值