1 splice()

1.1 说明

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组Link

1.2 语法

arrayObject.splice(index,howmany,item1,.....,itemX)

参数

  • index: 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
  • howmany: 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
  • item1, ..., itemX: 可选。向数组添加的新项目。

返回值

  • Array: 包含被删除项目的新数组,如果有的话。

1.3 示例

//添加项目
(function(){
var arr = [0, 1, 2, 3, 4];
arr.splice(1, 0, 9, 10); //索引位置/ 删除数量/ 可选, 添加项目, 可多个
console.log(arr); //[0, 9, 10, 1, 2, 3, 4]
}());
//删除项目
(function(){
var arr = [0, 1, 2, 3, 4];
arr.splice(1, 2);
console.log(arr); //[0, 3, 4]
}());
//删除并添加项目
(function(){
var arr = [0, 1, 2, 3, 4];
arr.splice(1, 2, 9, 10, 11);
console.log(arr); //[0, 9, 10, 11, 3, 4]
}());

2 slice()

2.1 说明

slice() 方法可从已有的数组中返回选定的元素。该方法并不会修改数组,而是返回一个子数组

2.2 语法

arrayObject.slice(start,end)

参数

  • start: 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
  • end: 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

返回值

  • 返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。

2.3 示例

//截取中间一段
(function(){
var arr = [0, 1, 2, 3, 4];
arrS = arr.slice(1, 3); //从索引1开始到索引3之前, 不包括索引3的项目
console.log(arrS); //[1, 2]
}());
//截取中间到最后
(function(){
var arr = [0, 1, 2, 3, 4];
arrS = arr.slice(1); //end为空, 从索引1开始到结束
console.log(arrS); //[1, 2, 3, 4]
}());
//获取最后一个项目
(function(){
var arr = [0, 1, 2, 3, 4];
arrS = arr.slice(-1); // -1个项目到最后, -1即最后一个, -2倒数第二个
console.log(arrS); //[4]
}());
//排除最后一个项目
(function(){
var arr = [0, 1, 2, 3, 4];
arrS = arr.slice(0, -1); // 第一个到第-1个, 不包含第-1个(最后一个)
console.log(arrS); //[0, 1, 2, 3]
}());

JavaScript方法splice()和slice()

JavaScript方法splice()和slice()的更多相关文章

  1. JavaScript 数组操作:slice vs splice

    在 JavaScript 中,对于数组的操作有两个很容易混淆的方法 splice, slice ,这里给大家推荐一篇介绍 splice, slice 二者区别的文章. In JavaScript, m ...

  2. 详解JavaScript的splice()方法

    from:http://www.jquerycn.cn/a_10447 在javascript中splice()方法,是一个很强的数组方法,它有多种用法.splice()主要用途是向数组的中部插入项. ...

  3. 详解 JavaScript 中 splice() 方法

    splice() 方法是一个比较少用的方法,但是功能确实很好,并且在我们 coding 的时候,经常有需要 splice() 方法,先介绍一下该方法. 在 JavaScript 中 splice() ...

  4. split()方法 splice()方法 slice()方法

    split()方法是对字符串的操作:splice()和slice()是对数组的操作.slice()也可用于字符串. 一.作用对象 1.split()方法是对字符串的操作:splice()和slice( ...

  5. jQuery基础学习5——JavaScript方法获取页面中的元素

    给网页中的所有<p>元素添加onclick事件 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN& ...

  6. Android中通过WebView控件实现与JavaScript方法相互调用的地图应用

    在Android中通过WebView控件,可以实现要加载的页面与Android方法相互调用,我们要实现WebView中的addJavascriptInterface方法,这样html才能调用andro ...

  7. 节点插入--对比jQuery和JavaScript方法(一)

    二.插入元素: 1 <div> 2 <p>面朝大海,春暖花开</p> 3 </div> (一).jQuery方法 1.在节点内部插入: 方法 说明 ap ...

  8. js splice vs slice

    js splice vs slice https://stackoverflow.com/questions/37601282/javascript-array-splice-vs-slice htt ...

  9. Iframe 父子窗体互调javascript方法及相互获取控件

    父窗体中的Iframe标签如下,子窗体为Default.aspx; <iframe id="left" name="left" src="Def ...

随机推荐

  1. Oracle表空间不足处理

    异常信息: 异常信息(异常类型:System.Data.OracleClient.OracleException) 异常提示:Oracle数据执行异常,请联系管理员处理 异常信息:ORA: 表 LC0 ...

  2. 【MyBatis学习15】MyBatis的逆向工程生成代码

    1. 什么是逆向工程 mybatis的一个主要的特点就是需要程序员自己编写sql,那么如果表太多的话,难免会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需 ...

  3. css之定位学习

    如需转载烦请注明出处: 英文原文:http://www.vanseodesign.com/css/css-positioning/ 中文译文:http://www.w3cplus.com/blog/p ...

  4. MySQL学习总结(四)数据的基本操作以及MySQL运算符和常用函数

    数据库是存储数据库对象的仓库,数据库的基本对象是表,表用来存储数据.关于数据的操作也就是我们常说的CRUD,C指的是CREATE(插入数据记录).R指的是READ(查询数据记录).U指的是UPDATE ...

  5. Java设计模式-代理模式之动态代理(附源代码分析)

    Java设计模式-代理模式之动态代理(附源代码分析) 动态代理概念及类图 上一篇中介绍了静态代理,动态代理跟静态代理一个最大的差别就是:动态代理是在执行时刻动态的创建出代理类及其对象. 上篇中的静态代 ...

  6. http Referrer-Policy

    Referrer-Policy: no-referrer Referrer-Policy: no-referrer-when-downgrade Referrer-Policy: origin Ref ...

  7. CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\

    解决方法: 1:设置 C:\windows\temp 文件夹安全权限  添加用户 NETWORK SERVICE  写入和读取权限 2:设置 C:\windows\temp 文件夹安全权限  添加用户 ...

  8. UDP与TCP报文格式,字段意义

    UDP报文 1.UDP有两个字段:数据字段和首部字段. 首部字段 首部字段很简单,只有8个字节,由4个字段组成,每个字段的长度都是两个字节.   1)源端口:源端口号.在需要对方回信时选用.不需要时可 ...

  9. javascript跨浏览器事件对象类库

    一.前言 学习了javascript事件后,个人总结归纳了跨浏览器事件对象类库,方便以后使用,现分享给大家. 二.事件对象封装 将对浏览器事件对象的操作封装成eventObject.js方便调用 // ...

  10. linux学习之vimrc配置推荐

    ,gb2312,gbk,gb18030,big5 "去掉vi一致性 set nocompatible ""设置行号 set number "打开文件类型自动检测 ...