截取数组的方法slice()/splice()
数组跟字符串一样,有时候我们也只需要其中的一些数据,那么我们怎么去获取到我们想要的数据呢?我们就可以直接根据索引值去截取他的元素。
一般我们都会使用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()相关推荐
- java截取数组_JS Array.slice 截取数组的实现方法
slice定义和用法 slice() 方法可从已有的数组中返回选定的元素. 语法 arrayObject.slice(start,end) 参数 描述 start 必需.规定从何处开始选取.如果是负数 ...
- JS之函数实际参数转换成数组的方法[].slice.call(arguments)
实际参数在函数中我们可以使用 arguments 对象获得 (注:形参可通过 arguments.callee 获得),虽然 arguments 对象与数组形似,但仍不是真正意义上的数组. 我们可以通 ...
- Android截取数组的方法,Android仓库建设——JNI的数组交互处理
JNI的数组交互处理 有两种方式: 第一种是生成native层的数组的拷贝 第二种是直接调用数组指针进行操作 1.进行字符串操作的时候,如果还想要进行别的操作可以参考官网的操作,比如在http://d ...
- (基础)JavaScript截取数组:使用splice()和slice()方法
JS 截取数组(得到数组片段)的方法有两种,分别是使用 splice() 和 slice() 方法,简单说明如下 使用 splice() 截取数组 splice() 方法可以添加元素.删除元素,也可以 ...
- JS截取数组:使用splice()和slice()方法
splice() 方法 splice() 方法可以添加元素.删除元素,也可以截取数组片段.删除元素时,将返回被删除的数组片段,因此可以使用 splice() 方法截取数组片段. 由于 splice() ...
- js数组的增删改查方法、js截取数组方法
增加的方法: 1.push()方法向数组中末尾添加一个元素,原数组改变. 2.unshift()方法向数组中开始元素添加一个元素,原数组改变. 3.splice()方法:可以添加.删除元素.也可以截取 ...
- 截取数组和字符串的方法js
数组的方法 slice() 返回一个索引和另一个索引之间的数据(不改变原数组),slice(start,end)有两个参数(start必需,end选填),都是索引,返回值不包括end,包括start, ...
- 修改数组相应位置元素——splice()
版权声明:本文为博主原创文章,未经博主允许不得转载. splice()--所有主流浏览器都支持 splice() 方法. 定义和用法 splice() 方法向/从数组中**添加/删除**项目,然后返回 ...
- js截取数组slice(),splice()两种方法
slice() 返回一个索引和另一个索引之间的数据(不改变原数组),slice(start,end)有两个参数(start必需,end选填),都是索引,返回值不包括end 用法和截取字符串一样 h ...
最新文章
- MICROSOFT SQLSERVER 总结
- C语言实现简单的内存管理机制
- m1芯片MacBook安装Apple优化版TensorFlow(虚拟环境)
- 19.Delete Documents-官方文档摘录
- java中常见英文单词_JAVA中常见的英文单词
- c++ List、Vector、Stack、Queue使用
- 【数学建模常用模型】分类专题
- 如何把大写金额变为小写数字_如何将小写金额转换为大写金额?这几个公式你至少要学会一个……...
- gps84转换gcj02公式_WGS84-GCJ-02坐标转化
- 系统工程师 运维工程师区别
- 在线模拟装机大学计算机,模拟装机实验.doc
- 2019 360校招笔试- 编程题 -2018.08.27
- hexo博客微博图床失效解决办法
- 倾斜摄影超大场景的三维模型轻量化与三维展示效果的关系浅析
- 如何快速的将word文档中的图片提取出来
- php 起源来由(搜集整理)
- 点餐小程序【源码好优多】
- 外企文化大比较 德企、日企里的人情真相
- java笔记从基础到高级完整版
- VMware centos7 虚拟机修改固定ip
热门文章
- android 仿华为闹钟界面,华为手机闹钟隐藏操作?你知道几个?不知道真的可惜了!...
- Vova and Trophies-思维
- idea中文转英文插件
- sharepoint error:该 URL“...”无效。它可能指向不存在的文件或文件夹,或者是指向不在当前网站中的有效文件或文件夹 -- 金大昊(jindahao)...
- html怎么处理360兼容,在360的兼容模式下关于innerHTML=“”,引发的问题
- 从SEO角度看开发人员需要做的代码技术
- ubuntu重装系统后电脑没声音怎么办[已解决]
- 木槿校园影院估值5亿:90后追梦人叶少翔的不破不立
- 以市场化交易促新能源消纳
- SSM+在线学习平台 毕业设计-附源码211707