数组常用方法及作用?

数组

在内存中开辟一个连续存储多个数据的存储空间,再起一个统一的名字 数组也是对象数据类型的,也是由键值对组成的
有一个length属性存储的是数组长度

  1. push():向数组末尾增加新内容,返回新增后数组的长度,原有数组改变

    var arr = [1,4,5,67,8];
    // 添加一个
    // 在最后添加一个数字5
    arr.push(5);
    
    //输出 新数组的长度6
    console.log(arr.push(5));
    
    // 添加多个
    //在最后添加数字112 和 34,字符串'avf'
    arr.push(112,34,'avf'); 
    
  2. pop():删除数组最后一项,返回被删除的那一项,原有数组改变

    var arr = [1,4,5,90,8];
    // 删除数组中最后一项
    arr.pop();
    
    // 输出被删的那个数据
    console.log(arr.pop());
    
  3. shift():删除数组第一项,返回删除的一项,原有数组改变

    var arr = [1,4,5,90,8];
    //删除数组中第一项
    arr.shift();
    
    // 输出被删除的那个数据
    console.log(arr.shift());
    
  4. unshift():向数组开始位置追加新内容,返回新增后数组的长度,原有数组改变

    var arr = [1,4,5,90,8];
    //在数组的起始位置添加一个数据
    arr.unshift();
    
    // 输出新数组的长度
    console.log(arr.unshift());
    
  5. splice():

    1. splice(n,m)从索引 n 开始,删除 m 个把删除的部分以新数组返回,原有数组改变新增
      var arr = [1,4,5,90,8];
      //从下标为 0 开始删除 2 个数据
      arr.splice(0,2);
      
      // 输出被删除的数据组成的新数组
      console.log(arr.splice());
      
    2. splice(n,0,x,···)从索引 n 开始删除 0项,把更多需要插入的内容存放到 n 前面,修改
      var arr = [1,4,5,90,8];
      //从下标为 0 开始添加 1 个数据
      arr.splice(0,0,23);
      
      // 输出被删除的数据组成的新数组
      console.log(arr.splice());
      
    3. splice(n,m,x)把原有内容删除掉,用新的内容替换删除的内容
      var arr = [1,4,5,90,8];
      //从下标为 0 开始删除 2 个数据,替换成 23
      arr.splice(0,2,23);
      
      // 输出被删除的数据组成的新数组
      console.log(arr.splice());
      
  6. slice():在一个数组中,按照条件查找出其中的部分内容,两个参数(n,m),从索引n处开始找到m处不包含m,返回以一个新数组存储查找的内容,原有数组不变

    var arr = [1,4,5,90,8];
    //从下标为 0 开始截取,截取下标为 2 之前的数据 
    arr.slice(0,2);
    
    // 输出截取的数据组成的新数组
    console.log(arr.slice());
    
  7. concat():实现多个数组的拼接,返回新数组,原有数组不变

    var arr = [1,4,5,90,8];
    //将参数中的数据元素拆开,分别存入数组 arr 中
    arr.concat([0,0,23]);
    
    // 输出新数组 [1,2,4,90,8,0,0,23]
    console.log(arr);
    
  8. reverse():将数组元素颠倒顺序

    var a1 =['A','a','b','E','P']
    var temp = [11,14,15,16]
    var a2 = al.sort()console.log(a2);
    console.log(a1.reverse());//将a1数组中的元素顺序颠倒var newArr = al.concat(temp)console.log(newArr);
    
  9. indexOf(元素):从左向右查找元素的位置。返回元素在数组中的下标(索引),返回-1表示没有找到

    var arr = [12,25,33,12,89] 
    var index1=arr.indexof(12)//从左往右查找返回找到的第一个元素的下标,第二个元素找不到   	console.log(index1);
    
  10. lastindexOf(元素):从右往左查找元素的位置。返回元素在数组中的下标(索引)

    var arr = [12,25,33,12,89] 
    var lastIndex = arr.lastIndexof(12) 
    console.log(lastIndex)
    
  11. sort():排序函数,默认按升序(从小到大)排列

    var arr = [45,32,78,56,22,'aaa']; 
    var a1 =['A','a','b','E','p']
    console.log(arr.sort());
    console.log(a1.sort ());
    
  12. join(连接字符):作用是将数组中的元素通过给定的连接字符连成一个字符串

    var arr = [11,22,33,44,55] 
    var s1=arr.join['-']//元素之间用'-'连接 
    var s2 = arr. join()//默认情况(不带参数),元素之间用','连接
    
  13. filter():可以实现对数组元素的"过滤",返回的元素构成一个新的数组

     var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    var temp = arr.filter(function (value, index) { //(元素,下标)
        return index % 3 == 0 //返回下标对三取余等于零的元素
     })
    console.log(temp) //[1,4,7,10]
    
  14. fill(值/变量):用给定的值或变量填充数组

    var arr = new Array(5)
    arr.fill(1)//数组的5个单元都是2
    console.log(arr) //[2, 2, 2, 2, 
    
  15. every(): 判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回 true

    var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    var temp = arr.every(function (value) {
        return value <= 10  //都小于等于10则返回true,否则返回false
    })
    console.log(temp) //true
    
  16. includes() :判断一个数组中是否包含一个指定的值

    var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    var temp = arr.includes(3)
    var temp1 = arr.includes(3, 3)
    console.log(temp) //true
    console.log(temp1) //false
    
  17. find() :判断一个数组中是否包含一个指定的值

    const people = [
        {
            name: "Matt",
            age: 27
        },
        {
            name: "Nicholas",
            age: 29
        }
    ];
    people.find((element, index, array) => element.age < 28) // // {name: "Matt", age: 27}
    
  18. some():对数组每一项都运行传入的测试函数,如果至少有1个元素返回 true ,则这个方法返回 true

    let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
    let someResult = numbers.some((item, index, array) => item > 2);
    console.log(someResult) // true
    
  19. forEach():对数组每一项都运行传入的函数,没有返回值

    let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
    numbers.forEach((item, index, array) => {
        // 执行某些操作
    });
    
  20. map():对数组每一项都运行传入的函数,返回由每次函数调用的结果构成的数组

    let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
    let mapResult = numbers.map((item, index, array) => item * 2);
    console.log(mapResult) // 2,4,6,8,10,8,6,4,2
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

晚时之秋

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

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

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

打赏作者

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

抵扣说明:

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

余额充值