js数组常用操作

数组

三种声明方式

  • var arr = new Array(10,20,true,"hello");
    
  • var arr = Array(10,20,true,"hello");
    
  • var arr = [10,20,true,"hello"];
    

常用方法

  • arr.pop()

    取数组末尾的数,返回的是取的值

            var arr = new Array(1,2,3,4);
            arr.pop();//4
    		console.log(arr);//[1,2,3]
    
  • arr.push()

    在数组末尾添加

            var arr = new Array(1,2,3,4);
            // arr.pop();
            arr.push(23,23);
    		console.log(arr);//[1,2,3,4,23,23]
    
  • arr.shift()

    从数组首位取出,返回的是取的值

            var arr = new Array(1,2,3,4);
            console.log(arr.shift());//1
            console.log(arr);//[2,3,4]
    
  • arr.unshift()

    从数组头部插入元素

    arr.unshift(23);//[23,1,2,3,4]
    
  • arr.concat()

    合并数组

            var arr = [1,2,3];
            var arr2 = arr.concat([4,5]);
            console.log(arr2)//[1,2,3,4,5]
    
  • arr.slice()

    取指定区域元素[start,end)组成新数组,左闭右开,原数组不发生任何改变

           var arr = [1,2,3];
            var b = arr.slice(0,2);
            console.log(b);//[1,2]
    
  • arr.splice()

    可以实现增、删、改

    格式arr.splice(start,length,数据1,数据2,...);

            var arr = [1,2,3,4];
            arr.splice(2,0,234,23);//从0开始在第2位插入
            console.log(arr);//[1, 2, 234, 23, 3, 4]
    
            arr.splice(2,1,23);//将第2位删除,然后在第2位加上23
            console.log(arr);//[1, 2, 23, 23, 3, 4]
            arr.splice(2,2,23);//将第2位和第3位删除,然后在第2位加上23
            console.log(arr);//[1, 2, 23, 3, 4]
    
            arr.splice(3,2);//从第3位开始,往后删除两位
            console.log(arr);//[1, 2, 23]
    
  • arr.join()

    改变数组的分隔符(默认是,),返回的是一个新的字符串,不改变原数组

            var arr = [1,2,3,4];
            var str = arr.join("");
            console.log(typeof(str));//string
            console.log(arr.join("="));//1=2=3=4
            console.log(arr)//[1, 2, 3, 4]
    
  • arr.reverse()

    对数组进行逆序

            var arr = [1,2,3,4];
            arr.reverse();
            console.log(arr);//[4, 3, 2, 1]
            console.log(arr[0]);//4
    
  • arr.sort()

    对数组按照字符串大小进行排序

            var arr = [52,16,14,32,7];
            arr.sort();
            console.log(arr);//[14, 16, 32, 52, 7]
    

    如果想要按照数值进行排序,在后面传一个函数

            var arr = [52,16,14,32,7];
            arr.sort(function(a,b) {
                return a - b;//升序
            });
            console.log(arr);//[7, 14, 16, 32, 52]
    
    
            arr.sort(function(a,b) {
                return b - a;//降序
            });
            console.log(arr);//[52, 32, 16, 14, 7]
    
  • arr.indexOf(item,start)

    用来查找某个数在数组中的下标,start表示从第几位开始查,如果没有查到改数,则返回-1

            var arr = [1,2,3,4];
            console.log(arr.indexOf(3));//2
    
  • arr.forEach()

    对数组进行遍历

            var arr = [10,20,30,40,50];
            arr.forEach(function(item,index,arr) {
                /* item:当前遍历到的元素
                    index:当前遍历到元素的下标
                    arr:数组本身
                 */
                console.log(item,index,arr);
            })
    
  • arr.map()

    map()方法返回一个新的数组,该数组是经过函数处理得到的,map()不会改变原数组

            var arr = [10,20,30,40,50];
            var newArr = arr.map(function(item,index,arr) {
                return item * 2;
            });
            console.log(newArr);
    //[20, 40, 60, 80, 100]
    
  • arr.filter()

    进行过滤操作,设置条件返回想要的结果

            var arr = [10,20,30,40,50];
            var newArr = arr.filter(function(item,index,arr) {
                return item > 20;
            });
            console.log(newArr);//[30, 40, 50]
    
  • arr.some()

    在数组中查找有没有指定的元素,返回值位true和false

            var arr = [10,20,30,40,50];
            var newArr = arr.some(function(item,index,arr) {
                return item > 20;
            });
            console.log(newArr);//true
    
  • arr.every()

    数组中每一项都符合条件才返回true,否则返回false

  • arr.reduce()

    归并

            var arr = [10,20,30,40,50];
            var newArr = arr.reduce(function(prev,next,index,arr) {
                /* 
                pre:第一次是下标为0的元素
                之后为return的结果
                next:
                 */
                return prev + next;
            });
            console.log(newArr);//150
    
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

boboj1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值