数组跟字符串一样,有时候我们也只需要其中的一些数据,那么我们怎么去获取到我们想要的数据呢?我们就可以直接根据索引值去截取他的元素。
一般我们都会使用slice()和splice()这两个方法,他们就相差一个元素,经常容易搞混,今天我们就来摸清楚一下他们的脉。
slice()
参数 :slice(start, end) start是必填,end是选填(start,end都是数组的索引值)返回的是start和end索引之间的数组元素,但是不包含索引为end的元素。

我们可以看到,原数组并没有改变,得到的是一个新的数组,同时如果不传递end,直接得到的就是从start索引开始的,一直到后面的全部的值。

如果开始索引是负数,我们可以从图片看到只有一个“菠萝蜜”,也就是从倒数第二个元素开始,也就相当于arr.(3,4),那么也就是菠萝蜜。
如果end的值已经超出了数组的长度,那么会忽略这个end的值相当于arr.slice(2)。

如果start的值大于end,直接返回空数组。
同理如果end是负数,也是从倒数第几个结束,然后在比较start和end,逻辑就跟上面的逻辑一样了。

splice()
改变原数组,是用来删除或添加数组的数据,返回删除的数组。

先粗略了解一下,从图片可以看出,我们原来的数组arr,只有一个元素“苹果”,被处理后发返回的数组是后面四个元素。我们在看一下w3school的描述:

特意强调一下,第二个参数是要删除的项目数,也就是数量,删除多少个。

如果start是负数,就是从后面往前面数,第几个元素。
传入第三个参数,也就是我们要添加的元素。原来的数组包含了要删除的元素。

截取数组的方法slice()/splice()相关推荐

  1. java截取数组_JS Array.slice 截取数组的实现方法

    slice定义和用法 slice() 方法可从已有的数组中返回选定的元素. 语法 arrayObject.slice(start,end) 参数 描述 start 必需.规定从何处开始选取.如果是负数 ...

  2. JS之函数实际参数转换成数组的方法[].slice.call(arguments)

    实际参数在函数中我们可以使用 arguments 对象获得 (注:形参可通过 arguments.callee 获得),虽然 arguments 对象与数组形似,但仍不是真正意义上的数组. 我们可以通 ...

  3. Android截取数组的方法,Android仓库建设——JNI的数组交互处理

    JNI的数组交互处理 有两种方式: 第一种是生成native层的数组的拷贝 第二种是直接调用数组指针进行操作 1.进行字符串操作的时候,如果还想要进行别的操作可以参考官网的操作,比如在http://d ...

  4. (基础)JavaScript截取数组:使用splice()和slice()方法

    JS 截取数组(得到数组片段)的方法有两种,分别是使用 splice() 和 slice() 方法,简单说明如下 使用 splice() 截取数组 splice() 方法可以添加元素.删除元素,也可以 ...

  5. JS截取数组:使用splice()和slice()方法

    splice() 方法 splice() 方法可以添加元素.删除元素,也可以截取数组片段.删除元素时,将返回被删除的数组片段,因此可以使用 splice() 方法截取数组片段. 由于 splice() ...

  6. js数组的增删改查方法、js截取数组方法

    增加的方法: 1.push()方法向数组中末尾添加一个元素,原数组改变. 2.unshift()方法向数组中开始元素添加一个元素,原数组改变. 3.splice()方法:可以添加.删除元素.也可以截取 ...

  7. 截取数组和字符串的方法js

    数组的方法 slice() 返回一个索引和另一个索引之间的数据(不改变原数组),slice(start,end)有两个参数(start必需,end选填),都是索引,返回值不包括end,包括start, ...

  8. 修改数组相应位置元素——splice()

    版权声明:本文为博主原创文章,未经博主允许不得转载. splice()--所有主流浏览器都支持 splice() 方法. 定义和用法 splice() 方法向/从数组中**添加/删除**项目,然后返回 ...

  9. js截取数组slice(),splice()两种方法

    slice() 返回一个索引和另一个索引之间的数据(不改变原数组),slice(start,end)有两个参数(start必需,end选填),都是索引,返回值不包括end 用法和截取字符串一样   h ...

最新文章

  1. MICROSOFT SQLSERVER 总结
  2. C语言实现简单的内存管理机制
  3. m1芯片MacBook安装Apple优化版TensorFlow(虚拟环境)
  4. 19.Delete Documents-官方文档摘录
  5. java中常见英文单词_JAVA中常见的英文单词
  6. c++ List、Vector、Stack、Queue使用
  7. 【数学建模常用模型】分类专题
  8. 如何把大写金额变为小写数字_如何将小写金额转换为大写金额?这几个公式你至少要学会一个……...
  9. gps84转换gcj02公式_WGS84-GCJ-02坐标转化
  10. 系统工程师 运维工程师区别
  11. 在线模拟装机大学计算机,模拟装机实验.doc
  12. 2019 360校招笔试- 编程题 -2018.08.27
  13. hexo博客微博图床失效解决办法
  14. 倾斜摄影超大场景的三维模型轻量化与三维展示效果的关系浅析
  15. 如何快速的将word文档中的图片提取出来
  16. php 起源来由(搜集整理)
  17. 点餐小程序【源码好优多】
  18. 外企文化大比较 德企、日企里的人情真相
  19. java笔记从基础到高级完整版
  20. VMware centos7 虚拟机修改固定ip

热门文章

  1. android 仿华为闹钟界面,华为手机闹钟隐藏操作?你知道几个?不知道真的可惜了!...
  2. Vova and Trophies-思维
  3. idea中文转英文插件
  4. sharepoint error:该 URL“...”无效。它可能指向不存在的文件或文件夹,或者是指向不在当前网站中的有效文件或文件夹 -- 金大昊(jindahao)...
  5. html怎么处理360兼容,在360的兼容模式下关于innerHTML=“”,引发的问题
  6. 从SEO角度看开发人员需要做的代码技术
  7. ubuntu重装系统后电脑没声音怎么办[已解决]
  8. 木槿校园影院估值5亿:90后追梦人叶少翔的不破不立
  9. 以市场化交易促新能源消纳
  10. SSM+在线学习平台 毕业设计-附源码211707