数组常用的方法

push 数组尾部添加元素
pop 数组尾部删除元素 不接受参数
unshift 数组头部添加元素
shift 数组头部删除元素 不接受参数
slice 截取数组 原数组不发生改变
splice 截取数组 原数组发生改变
reverse 逆转
sort 排序
join 将数组转换成字符串,数组元素以参数拼接
concat 拼接

slice()

  1. 0个参数时,输出原数组
  2. 1个参数时,从该参数对应的位置开始截取,直至数组结束
  3. 2个参数时,从第一个参数表示的下标开始,到第二个参数表示的下标结束,但不包含第二个参数对应的元素
var arr = [1,2,3,5];
var a = arr.slice(0,2);  //[1,2]

splice()

  1. 0个参数时,返回空数组
  2. 1个参数时,从该参数对应的位置开始截取,直至数组结束
  3. 2个参数时,从第一个参数表示起始位置,第二个参数表示截取的长度
  4. 3个参数以上 从截取位置开始增加第3个及以后的参数
var arr = [1,2,3,5];
var a = arr.slice(0,2);  //[3,5]

sort()
按个位进行排序

var arr=[1,33,2,4,];
arr.sort();//[1,2,33,4]

为了解决这个问题,可以有如下定义:


			arr.sort(function(a,b){
				return a-b;//递增顺序
				return b-a;//递减顺序
			});

除上述方法外,还有一些新增的数组方法
isArray() 用于确定传递的值是否是一个 Array
from() 对伪数组(包括arguments Array,Map,Set,String…)转换成数组对象,并返回一个数组实例
copyWithin(target, start, end) 浅复制数组的一部分到同一数组中的另一个位置
some(fn()) every(fn()) 返回一个布尔值

map(fn()) forEach(fn())
两者都是对数组的遍历,用法相同,唯一不同的是:
forEach(function(item){return item+1;})//返回结果为undefined map(function(item){return item+1})//返回数组数值都加1

indexOf()
返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1

lastIndexOf()
返回指定元素(也即有效的 JavaScript 值或变量)在数组中的最后一个的索引,如果不存在则返回 -1。从数组的后面向前查找


filter(fn())
给定一个过滤条件,返回输出过滤后的结果。

var a = arr.filter(function(item){过滤条件});
console.log(a)

includes()
用来判断一个数组里是否包含某个值,返回一个布尔类型数值

var arr = [1,2,4];
arr.includes(1);//true
arr.includes(3);//false

较常用

find()
返回数组中满足提供的测试函数的第一个元素的

[1,3,4,6].find((n)=>n<2)//1
[1,3,4,6].find((n)=>n>0)//1

findIndex()
返回数组中满足提供的测试函数的第一个元素的索引

[1,3,4,6].findIndex((n)=>n>0)//0
[1,3,-1,6].findIndex((n)=>n<0)//2

reduce(fn())
对数组中的所有元素调用指定的函数的回调函数,该回调函数的返回值为累积结果,并且此返回值在下一次调用该回调函数时作为参数提供

var arr = [1,4,2,6,3];
var a = arr.reduce(function(a,b){
return a+b
});
console.log(a);//16  
//原因为1+4+2+6+3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值