学习数组的方法笔记

var a=[1,2,3,4,5];

1.push

push在数组的最后一位插入数据,并返回插入后的数组长度
var b=a.push(7);—>6

2.pop

pop删除数组的最后一位并返回被删除的元素
var c=a.pop()----->7

3.shift

删除数组的第一个元素,并返回被删除的元素
var d=a.shift()------>1

4.unshift

在数组的最前面添加数据,并返回数组长度
var d=a.unshift(2,3,4)---->6

5.sort

将数组进行排序,并返回已经排序的数组,sort有两种形式(无参调用和有参数调用),无参数调用的时候默认是按照字符编码(ASCII)排序,如果是纯数据的话就会出现乱的排序(因为会自动生成字符编码ASCII再排序),所以要纯数字的排序就需要用到有参数sort(a,b),比较a,b的大小
var a=[24,3,5,11,2,55,13,88,76]
var b=a.sort();----》数组

//升序:
a.sort(function(a,b){
return a-b;
})
//降序
a.sort(function(a,b){
return b-a;
})
实现原理:利用冒泡排序,进行比较a和b的值
a>b---------- 》 返回负数-----》前面的数字在前面(不做改变)
a<b----------》 返回正数-----》前面的数字在后面(调换顺序)
a=b----------》 返回0---------》不变

6.reverse

把数组反转(倒过来)并返回数组
a.reverse();

7.splice

splice返回一个从原数组被删除的项,若没有删除则返回一个空数组。
splice() 方法向/从数组中插入/删除/替换项目,然后返回被删除的项目。
删除:splice(要删除的位置,要删除的个数)
插入:splice(起始位,0(删除多少长度),要添加的项)
替换:splice(起始位,删除长度,要插入的项(任意个))
var a=[1,2,3,4,5]
var b=a.splice(2,2);
a= [1, 2, 5]
b=[3,4]

8.slice

两个参数:slice(从该位开始截取,到这位结束),返回截取的数组,
无参数的时候截取整个数组
一个参数:slice(开始位)截取从开始位到数组末尾
9.join

join(字符串),按照传入的字符串将数组进行连接,变成字符串
数组------》字符串

10.split

split(字符串) 按照传入的字符串将数组进行拆分数组

字符串-----》数组

11、concat

创建原有数组的副本并且在数组末尾添加新的项
var a1=[1,2]
var a2=a1.concat(3,4);
console.log(a2)---->1,2,3,4

12、位置方法

两个方法查找不到返回-1
indexOf(要查找的项(可选))返回项在数组的位置。从数组头部开始
lastIndexOf()从数组的尾部开始查找
13、forEach(函数,this)参数可以省
数组的循环可以代替for循环
arr.forEach(function(item,index,arr){
});

14、map(函数,this)

一般配合return,返回一个新数组,没有return的话就跟forEach

15、filter(函数,this)

过滤作用,如果函数返回true则留下该项item

16.some()

某些项的函数返回true则返回true,类似查找某个元素符合函数条件是否存在

17、every()

所有项都符合条件就返回true

可以用来求数组的和,求阶乘
19、reduceRight()从右往左

20、for… of

arr.keys()数组的下标
arr.entries()数组的某一项

21、es6新增的扩展运算符 三个点

var arr=[1,2,3];
var arr2=[…arr];

22、将类数组转换成数组

                let li=document.querySelector('ul li');

es5的方法:let arr=[].slice.call(li);
es6的方法:let arr=Array.from(li);

23、Array.of

把一组值变成数组
var arr=Array.of(“a”,“n”,“v”);
//arr=[a,n,v]

24、find()

查找出第一个符合条件的数组成员,没有返回undefine

25、findIndex查找下标没有返回-1

26、fill(填充的内容,开始的位置,结束的位置)

27、es6新增判断数组是否有该元素includes()返回true/false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值