arr的push,pop,slice…各种使用方法

  • arr.push(); 向数组的末尾追加元素

    • 会修改原数组

    • 返回值:修改后的length值

    • 可以追加多个

      arr[1,2,3];
      arr1[4,5,6];
      arr2[...arr,...arr1];       //  ...扩展运算符,将数组展开
      
  • arr.unshift(); 向数组的开头添加元素

    • 会修改原数组
    • 返回值:修改后的length值
    • 可以追加多个
  • arr.pop(); 删除末尾的元素

    • 会修改原数组
    • 返回值:被删除的数据
    • 只能删除一个
  • arr.shift(); 开头删除一个元素

    • 会修改原数组
    • 返回值:被删除的数据
    • 只能删除一个
  • arr.splice(位置,删除元素的个数,要追加的元素); 任意位置添加删除

    • 添加或者删除包含对应下标
    • 添加数据时:删除元素的个数写0;
    • 可以同时删除和添加(先删除,后添加)
    • 修改原数组
  • arr.join(“分隔符”) 使用分隔符将数组数据隔开变为字符串

    • 不修改原数组
    • 返回值是分隔好的字符串
  • arr.slice(截取的起始下标,结束下标) 数组的截取

    • 截取时,包含起始下标,不包含结束下标
    • 不修改原数组
    • 返回值是截取到的数组
    • 参数可以是负数,负数表示倒数,只传一个参数表示从起始下标截取到最后
  • arr.concat 多个数组的连接

    • 不修改原数组

    • 返回值是连接之后的新数组

      var arr1=[1,2,3];
      var arr2=[4,5,6];
      console.log(arr1.concat(arr2,[7,8,9]));// 控制台输出
      // (9) [1, 2, 3, 4, 5, 6, 7, 8, 9]
      
  • arr.indexOf(值); 查找某个值在数组中第一次出现的下标

    • 返回值是数据的下标,没有找到则返回-1

      var arr=[1,5,6,99,52,663,22,66,552,123,6,622];
      console.log(arr.indexOf(22));    //查找22在arr数组中的位置// 控制台输出
      // 6
      
  • arr.lastIndexOf(值); 倒叙查找某个值在数组中第一次出现的位置

  • arr.sort() 数组的排序

    • 如果没有参数,则从字符的编码开始按顺序排

    • 如果有参数,这个参数必须是一个函数(回调函数)这个回调函数有两个参数,分别是a,b

    • 修改原数组

    • 返回值是排序之后的数组

      var arr3=[1,5,6,99,52,663,22,66,552,6,622];
      arr3.sort(function(a,b){//a-b 正序,
      //b-a 倒序,
      return a-b;
      })
      console.log(arr3);
      // 控制台输出
      // (11) [1, 5, 6, 6, 22, 52, 66, 99, 552, 622, 663]
      //箭头函数
      arr.sort((a,b)=>a-b)     //正序,
      arr.sort((a,b)=>b-a)     //倒序,//箭头函数
      arr3.sort((a,b)=>{return a-b});
      arr3.sort((a,b)=>a-b);
      
  • arr.forEach() 遍历数组

    • 接收一个回调函数,回调函数第一个参数是 数组值,第二个参数是 下标

      var arr3=[1,5,6,99,52,663,22,66,552,6,622];
      arr3.forEach(function(value,index){console.log(index,value)
      })
      // 箭头函数
      arr3.forEach((value,index)=>{console.log(index,value)});
      
  • arr.filter() 过滤(根据条件筛选数组元素)

    • 根据回调函数的返回值进行元素筛选

      • 返回值是true,该元素会保留
      • 返回值是false,该元素跳过
    • 不修改原数组

    • 返回值是筛选之后的数组

      var arr=[1,5,6,99,52,663,22,66,552,123,6,622];
      var newArr =arr.filter(function(value,index){return value>100;       //筛选arr数组中值大于100的元素;
      })
      console.log(newArr);
      // 控制台输出
      // (4) [663, 552, 123, 622]//箭头函数
      var mewArr=arr.filter(v=>v>100);
      
      var person = [
      {name: "张三",age:20,sex: "男"},
      {name: "李四",age:19,sex: "女"},
      {name: "王五",age:22,sex: "男"},
      {name: "赵六",age:21,sex: "女"}
      ];
      var x =person.filter(function(value,index){return value.age>20;           // 筛选出年龄大于20岁的学生
      // return value.sex=="男";     //筛选出男同学
      })
      console.log(x);
      // 箭头函数
      arr.filter((value,index)=>{return 判断条件})
      
  • arr.map() 映射 将数组中的所有数据按照条件改变,形成新数组ying

    • 将回调函数每次的返回值,组成一个新的数组

    • 返回值是映射改变之后的数组

    • 不修改原数组

      var arr=[1,5,6,99,52,663,22,66,552,123,6,622];
      // var end=arr3.map(function(value,index){//     return value*2;        //将数组中的所有元素都乘以2返回
      // });
      // 箭头函数
      var end = arr.map((value,index)=>value*2);
      console.log(end);
      
  • arr.some() 判断 根据回调函数的判断条件来选择真假

    • 只要有一个回调函数返回值是true,最终some结果是true;

      var arr3=[1,5,6,99,52,663,22,66,552,123,6,622];
      var end=arr3.some(function(value,index){return value<500;
      });
      console.log(end);     //true//箭头函数
      var end=arr3.some(v=>{v<500});
      
  • arr.every() 判断 根据回调函数的判断条件来选择真假(与some比较记忆)

    • 只要有一个回调函数返回值是false,最终every结果是false;

      var arr3=[1,5,6,99,52,663,22,66,552,123,6,622];
      var end=arr3.every(function(value,index){return value<500;
      });
      console.log(end);     //false//箭头函数
      var end=arr3.some(v=>{v<500});
      
  • arr.reverse() 数组倒序

    • 返回修改后的数组

    • 改变原数组

      var arr=[1,5,8,6,9,4,2,3];
      console.log(arr.reverse());     // (8) [3, 2, 4, 9, 6, 8, 5, 1]
      console.log(arr);               // (8) [3, 2, 4, 9, 6, 8, 5, 1]
      
  • Array.from

    • Array.from方法用于将两类对象转为真正的数组:类似数组的对象和可遍历的对象(包括 ES6 新增的数据结构 Set 和 Map)

      var a={length:2,0:'aaa',1:'bbb'};
      Array.from(a);        //['aaa','bbb']
      // 原理:Array.prototype.slice.call(a);
      var b={length:2};
      Array.from(b);       //[undefined.undefined]
      
  • Array.of

    • Array.of方法用于将一组值,转换为数组。

    • Array.of总是返回参数值组成的数组。如果没有参数,就返回一个空数组。

      Array.of() // []
      Array.of(undefined) // [undefined]
      Array.of(1) // [1]
      Array.of(1, 2) // [1, 2]
      
  • arr.includes()

    • 用于检查数组是否包含某元素,包含返回true,否则返回false

    • 无法检测对象是否存在

    • 假如只想知道某个值是否在数组中而并不关心它的索引位置,建议使用

      includes()。如果想获取一个值在数组中的位置,那么你只能使用indexOf方法。并且includes()可以识别NaN

      var arr = [1,2,{name:"张三"}]
      arr.includes(2)     // true
      arr.includes(4)     // false
      arr.includes({name:"张三"})     // false
      
    • 可接收俩个参数:要搜索的值,搜索的开始索引

      ['a', 'b', 'c', 'd'].includes('b')         // true
      ['a', 'b', 'c', 'd'].includes('b', 1)      // true
      ['a', 'b', 'c', 'd'].includes('b', 2)      // false
      
    • 此方法为 ES7新增,兼容性##

arr的push,pop,slice.....各种使用方法详细介绍相关推荐

  1. java数组如何pop_Js数组的操作push,pop,shift,unshift等方法详细介绍

    js中针对数组操作的方法还是比较多的,今天突然想到来总结一下,也算是温故而知新吧.不过不会针对每个方法进行讲解,我只是选择其中的一些来讲. 首先来讲一下push和pop方法,这两个方法只会对数组从尾部 ...

  2. 如何更换安装鸿蒙系统,华为鸿蒙系统2.0如何进行安装?鸿蒙系统2.0安装方法详细介绍...

    华为鸿蒙系统2.0如何进行安装?现在已经可以安装鸿蒙系统2.0,但是你不清楚安装,下面就让浏览器小编为大家带来,鸿蒙系统2.0安装方法详细介绍. 部分更新了华为鸿蒙OS用户表示,安卓和鸿蒙的应用软件都 ...

  3. 鸿蒙系统可以安装的浏览器,华为鸿蒙系统2.0如何进行安装?鸿蒙系统2.0安装方法详细介绍...

    华为鸿蒙系统2.0如何进行安装?现在已经可以安装鸿蒙系统2.0,但是你不清楚安装,下面就让浏览器小编为大家带来,鸿蒙系统2.0安装方法详细介绍. 部分更新了华为鸿蒙OS用户表示,安卓和鸿蒙的应用软件都 ...

  4. php ucenter home登录,UCenter Home 2.0 安装方法详细介绍

    本教程为大家介绍 UCenter Home 2.0 的安装方法(以虚拟主机为例).在安装 UCenter Home 2.0 之前,请确认在服务器上已经安装过 UCenter ,UCenter 的安装方 ...

  5. 怎么使用小爱同学音响_小爱音箱mini怎么样如何使用 小爱音箱mini使用方法详细介绍...

    小爱音箱mini怎么样如何使用?相信小伙伴们一定很好奇,小米音响mini首发仅需99元,下面小编为大家带来了小爱音箱mini使用方法详细介绍,感兴趣的小伙伴赶紧跟着小编一起来看看吧. 小爱音箱mini ...

  6. python定义数组的方法_Python数组定义方法详细介绍

    本文实例讲述了Python数组定义方法.分享给大家供大家参考,具体如下: Python中没有数组的数据结构,但列表很像数组,如: a=[0,1,2] 这时:a[0]=0, a[1]=1, a[[2]= ...

  7. CreateFile函数使用方法详细介绍

    CreateFile The CreateFile function creates or opens the following objects and returns a handle that ...

  8. 经典IDEF系统分析方法详细介绍

    经典IDEF系统分析方法详细介绍 (转载) IDEF是ICAM DEFinition method 的缩写,是美国空军在70年代末80年代初ICAM(Integrated Computer Aided ...

  9. vi使用方法详细介绍

    vi使用方法详细介绍 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版 ...

最新文章

  1. [初级]深入理解乐观锁与悲观锁
  2. vue 加载体验优化
  3. 基于Xml 的IOC 容器-寻找入口
  4. 20 张图揭开内存管理的迷雾,瞬间豁然开朗
  5. 如何创建一个最小的串口、TTY设备包括虚拟控制台,串口以及伪终端设备的驱动程序
  6. Git Pull Failed:Could not read from remote repository
  7. Hive 中类SQL语言中的 oder by,gruop by的区别
  8. IntelliJ IDEA中项目界面右上角中没有SVN工具按钮
  9. 针式打印机 使用链式纸打印 如何配置纸张参数
  10. 微信小程序+轮播图+弹窗等设置
  11. 泰国8日自助游攻略(普吉+清迈)
  12. 外贸收款方式精辟分析 1
  13. 第六章 - 图像变换 - 卷积(cvFilter2D)
  14. 步进电机驱动器控制转速和圈数
  15. python数据框元素的性质_Pandas基础:文件读取与写入、Series和Dataframe、常用基本函数、排序...
  16. 高手处理事情的十二个方法,普通人学到三招就很厉害了
  17. GitHub清华、北大、浙大、上海交大计算机系项目整理分享
  18. 铁威马F2-210配西数红盘,不仅是NAS那么简单
  19. 05.去,走你想要的人生——有条理地生活:秩序即是力量(笔记)
  20. Budgie Desktop v8 发布,改进菜单和面板

热门文章

  1. 形容谣言的四字词语_描写传递信息的四字词语
  2. 软考中级哪一门比较好过?
  3. 【多人会议功能】uniapp - 微信小程序 - 腾讯云
  4. php设置延迟代码执行,PHP实现延迟执行程序
  5. 数据可视化什么意思?
  6. html 判断text相等,实用的28个js验证
  7. 猫和老鼠手游的python代码_猫和老鼠手游猫鼠通用技巧讲解 赶紧进来好好向大佬们学习学习...
  8. u盘插linux电脑不好使,u盘插电脑没反应怎么办的几种真正解决方式
  9. 历届蓝桥杯Scratch编程省赛 初级 中级 青少年编程比赛省赛真题解析【持续更新 已更新至35题】
  10. Win系统 - Windows10 该内存不能为 read