JS常用数组方法&实例(干货一箩筐)

1.unshift在数组的最前面添加

(1) 参数:一个或多个
(2) 返回值:新数组的长度
(3) 改变原数组

        let ary = [1,2,3,4,5];        
        console.log(ary.unshift(0));  //6
        console.log(ary);  //[0,1,2,3,4,5]

2.shift删除数组第一项

(1) 参数:无
(2) 返回值:被删除的一项
(3) 改变原数组

    let ary = [1,2,3,4,5];        
    console.log(ary.shift());  //1
    console.log(ary);  //[2,3,4,5]

3.push在数组的最后面添加

(1) 参数:一个或多个
(2) 返回值:新数组的长度
(3) 改变原数组

        let ary = [1,2,3,4,5];        
        console.log(ary.push(1,2,3));  //8
        console.log(ary);  //[1,2,3,4,5,1,2,3]

4.pop删除数组最后一项

(1) 参数:无
(2) 返回值:被删除的一项
(3) 改变原数组

        let ary = [1,2,3,4,5];        
        console.log(ary.pop());  //5
        console.log(ary);  //[1,2,3,4]

5.splice删除数组中的某一项或多项,用新的数据替换(支持负数)

返回值:被删除的一项或几项
原数组发生改变

[1,2,3,4,5].splice(1);  //1个参数,即为从索引为1的位置删除到最后 [2,3,4,5]
[1,2,3,4,5].splice(1,2); //第一个参数为索引,第二个参数为删除的个数   [2,3]
[1,2,3,4,5].splice(1,2,"a"); //在索引1的前面添加“a”   [2,3]
[1,2,3,4,5].splice(1,1,"a"); // [2]

6.indexOf查询数组是否存在某个数据,返回第一次匹配元素的索引值

参数:被查找的一项
返回值:返回第一次匹配的索引,不存在返回-1

["a",1,2,3].indexOf("a");  // 0

7.lastIndexOf 查询数组是否存在某个数据,返回最后一次匹配元素的索引值

参数:被查找的一项
返回值:返回最后一次匹配的索引,不存在返回-1

["a",1,2,3,"a"].lastIndexOf("a");  // 4

8.slice截取数组中的一项(支持负数)

返回值:截取数组中的一部分

[1,2,3,4,5,6].slice();//没有参数,将原数组克隆一份  [1,2,3,4,5,6]
[1,2,3,4,5,6].slice(1);//1个参数,从索引1开始截取到最后 [2,3,4,5,6]
[1,2,3,4,5,6].slice(1,2); //2个参数,从索引1开始截取到索引2,但不包含索引2(包前不包后)[2] 
[1,2,3,4,5,6].slice(1,-2); //2个参数,从索引1开始截取到索引4,但不包含索引2(包前不包后)[2,3,4]  

9.sort排序

返回值:排好序的数组
修改原数组
没有参数时,只能排序相同位数的数字,从小到大排序

[1,3,2,5,3,9,6].sort(function(a,b){return a-b})  //从小到大排序 [1, 2, 3, 3, 5, 6, 9]
[1,3,2,5,3,9,6].sort(function(a,b){return b-a})  //从大到小排序 [9, 6, 5, 3, 3, 2, 1]

10.reverse 倒序,将数组顺序倒置

修改原数组
返回值:排好序的数组
参数:无

[1,3,2,5,3,9,6].reverse(); //[6, 9, 3, 5, 2, 3, 1]

11.concat拼接数组

参数:一个或多个数组,不是数组会转成数组(在外面加[])再拼接
不传参数会克隆数组
返回值:拼接完成的数组

[1,3,2,5,3,9,6].concat([1,1,1],3); //[1, 3, 2, 5, 3, 9, 6, 1, 1, 1, 3]

12.join将数组按照指定的字符拼接成字符串

参数:没有参数,按“,”拼接;有参数,按照参数的字符进行拼接

[1,3,2,5,3,9,6].join("*");  //1*3*2*5*3*9*6

13.map映射,根据原来数组的每一项,映射出一个新的数组

参数:回调函数,数组的长度是几,回调函数执行几次
返回值:映射得到一个新的数组
没有return

let m=[1, 3, 2, 5, 3, 9, 6].map(function(item,index,all){
//item为数组中的每一项
//index为数组中每一项的索引
//all为整个数组
            return 100;
        })
console.log(m);//[100, 100, 100, 100, 100, 100, 100]

14.forEach遍历数组

参数:回调函数
返回值:无,即undefined

[1, 3, 2, 5, 3, 9, 6].forEach(function(item,index,all){
//item为数组中的每一项
//index为数组中每一项的索引
//all为整个数组
        })

15.toString换成字符串

参数:不需要参数

[1, 3, 2, 5, 3, 9, 6].toString();
// 1,3,2,5,3,9,6

16.find查找

ES6新语法,从左往右遍历,返回第一个符合条件的值
无返回值返回undefined

let a = [1, 2, 3, 4, 5].find((item, index) => {
            return item > 3;
        })
console.log(a) //4

17.filter过滤

把符合条件的数组成员放到一个新数组中

let a = [1, 2, 3, 4, 5].filter((item, index) => {
            return item > 3;
        })
console.log(a) //[4, 5]

18.some

返回一个布尔值,只要有符合条件的就返回true,不再继续查找

let a = [1, 2, 3, 4, 5].some((item, index) => {
            return item > 3;
        })
console.log(a) //true

19.every

每一个都符合条件,则返回true,否则返回false
只要找到false,直接结束,不再继续查找,返回布尔值

let a = [1, 2, 3, 4, 5].every((item, index) => {
            return item > 3;
        })
console.log(a) //false

20.includes

返回一个布尔值,如果有返回true,没有返回false

 let a = [1, 2, 3, 4, 5].includes(5)
console.log(a) //true

21.reduce收敛

参数:prev,第一次代表数组的第一项,以后都代表上一次回调函数的返回值

 let a = [1, 2, 3, 4, 5].reduce((prev, next) => {
            return prev + next;
        }, 100);
        console.log(a);  //115
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值