数组 slice方法和splice方法的区别
一、slice() 方法
slice()方法可以从已有的数组中返回选定的元素。
语法:
arrayObject.slice(start,end)
参数:
start:(截取开始位置的索引,包含开始索引)必须,规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。(-1指的是最后一个元素,-2指倒数第二个元素,以此类推)。
end:(截取结束位置的索引,不包含结束索引)可选,规定从何处结束选取。该参数是数组片段结束处的数组下标,如果没有指定该参数,那么切分的数组包含从 start(开始处)到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
返回值:
返回一个新的数组,包含从 start 到 end(不包含end的这个元素)的数组对象(arrayObject)中的元素。
注意:
1、slice 方法并不会修改数组,而是会返回一个子数组。如果想删除一段元素,应该使用方法Array.splice()
2、可以使用负值从尾部选取元素。
3、如果 end未被规定,那么 slice() 方法会选取从 start到数组结尾的所有元素。
实例:
使用slice() 方法选取已有数组中的元素
var arr=["大雪","小雪","霜降","立冬"]
console.log(arr.slice(1,3));
console.log(arr.slice(1));
console.log(arr.slice(-3,-1));

二、splice() 方法
splice() 方法可以用于插入、删除或是替换数组的元素。
语法:
arrayObject.splice(index,howmany,element1,.....,elementX)
参数:
index,必需,规定从何处添加或是删除元素。,该参数是开始插入和(或)删除的数组元素的下标,必须是数字。
howmany,必需。规定应该删除多少元素。必须是数字也可以是0,如果没有规定此参数,则删除从index 开始到原数组结尾的所有元素。
element1,可选,规定有添加到数组的新元素,从index所指的下标处开始插入。
elementX,可选,可向数组添加若干元素。
返回值:
如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
注意:
1、splice() 方法可以删除从 index 处开始的0或多个元素,并且用参数列表声明中声明的一个或是多个值来代替或修改那些被删除的元素。
2、splice() 方法和 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改。
实例:
删除从 index 2 开始的三个元素,并添加一个新元素来替代被删除的元素
var arr=["大雪","小雪","霜降","立冬","寒露"]
arr.splice(2,3,"秋分");
console.log(arr);

创建一个新的数组,并且向里面添加元素
var arr = new Array(5)
arr[0] = "大雪"
arr[1] = "小雪"
arr[2] = "霜降"
arr[3] = "立冬"
arr[4] = "寒露"
arr.splice(4,0,"白露");
console.log(arr);

数组 slice方法和splice方法的区别的更多相关文章
- Js slice()方法和splice()方法
1.slice(start,end) 从已有的数组中返回选定元素,参数start必填,end选填 <script> delArray(); function delArray(){ var ...
- 原生js中slice()方法和splice()区别
slice()方法和splice()方法都是原生js中对数组操作的方法. slice(),返回一个新的数组,该方法可从已有的数组中返回选定的元素.例如:arrObject(start,end),sta ...
- flush方法和close方法的区别和字符输出流写数据的其他方法和字符输出流的续写和换行
flush方法和close方法的区别 flush:刷新缓冲区,流对象可以继续使用 close:先刷新缓冲区,然后通知系统释放资源.刘对象不可以再被使用了. public class demo02 { ...
- ThinkPHP的D方法和M方法的区别
M方法和D方法的区别 ThinkPHP 中M方法和D方法都用于实例化一个模型类,M方法 用于高效实例化一个基础模型类,而 D方法 用于实例化一个用户定义模型类. 使用M方法 如果是如下情况,请考虑使用 ...
- M方法和D方法的区别
M方法和D方法的区别 ThinkPHP 中M方法和D方法都用于实例化一个模型类,M方法 用于高效实例化一个基础模型类,而 D方法 用于实例化一个用户定义模型类. 使用M方法 如果是如下情况,请考虑使用 ...
- JAVA反射中的getFields()方法和getDeclaredFields ()方法的区别
JAVA反射中的getFields()方法和getDeclaredFields ()方法的区别 关于获取类的字段有两种方式:getFields()和getDeclaredFields().我们先来 ...
- Exception 的 toString() 方法和 getMessage() 方法的区别
Exception 的 toString() 方法和 getMessage() 方法的区别: 在开发的过程中打印错误日志时尽量使用e.toString() 方法, 因为当错误为空指针时 e.getMe ...
- ExtJS中listener方法和handler方法的区别
listener方法和handler方法的区别在文档中的说明的太玄乎了,看不懂 listeners监听能够对一个click Event事件添加任意多个的事件响应处理函数 而handler处理只能够通过 ...
- MongoDB save()方法和insert()方法的区别
MongoDB save()方法和insert()方法的区别 首先看官方文档怎么说的 Updates an existing document or inserts a new document, d ...
随机推荐
- 蒲公英v5p%n搭建局域网后用nginx做代理的配置
1.nginx.conf worker_processes auto; error_log /usr/local/var/log/nginx/error.log; events { worker_co ...
- mysql——查询语句——单表查询——(概念)
一.基本查询语句 select的基本语法格式如下: select 属性列表 from 表名和视图列表 [ where 条件表达式1 ] [ group by 属性名1 [ having 条件表达式2 ...
- 什么是云数据库POLARDB
POLARDB是阿里巴巴自主研发的下一代关系型分布式云原生数据库,目前兼容三种数据库引擎:MySQL.Oracle.PostgreSQL.计算能力最高可扩展至1000核以上,存储容量最高可达 100T ...
- SVN随笔记录(一)
svn是版本控制系统 为何使用svn? ~团队在开发同一个项目时对项目进行模块划分,在第一阶段结束后进行部分整合时,提交至服务器上合并. ~多人对同一版本的同一代码进行修改后,合并时会出现冲突,此是需 ...
- # N数码问题
N数码问题 首先,先贯彻一个理念.奇偶性很神奇,对于一类问题,如果属于同种性质(奇偶性相同),那么它们就是完全相同(这个在某种意义上说)的,,一些问题如果奇偶性相同那么里面涉及的问题都是等价的. 数码 ...
- 小白学习django第五站-简易案例
首先在setting.py文件中编写数据库配置内容 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': ' ...
- Win32汇编-创建窗体代码
1.一个最简单的窗体的创建 ;>>>>>>>>>>>>>>>>>>>>>& ...
- 牛客 545A 小A与最大子段和 & CF 660F Bear and Bowling 4
大意: 给定序列$a$, 求选择一个子区间$[l,r]$, 使得$\sum\limits_{i=l}^r(i-l+1)a_i$最大. $n\le2e5, |a_i|\le 1e7$. 记$s[i]=\ ...
- python发起post请求获取json数据使用requests方法
最普通的答案 我一直就觉得GET和POST没有什么除了语义之外的区别,自打我开始学习Web编程开始就是这么理解的 . 可能很多人都已经猜到了答案是: 1.GET 使用URL或Cookie传参.而POS ...
- js之运算符其它运算符(三元运算符,逗号运算符,void运算符,typeof,delete运算符)
Javascript支持很多其它的运算符,具体如下: 一.条件运算符(?:) 条件运算符是Javascript中唯一的三个操作数的三元运算符,有时会直接称做是“三元运算符”. 基本格式:conditi ...