JavaScript方法splice()和slice()
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 数组操作:slice vs splice
在 JavaScript 中,对于数组的操作有两个很容易混淆的方法 splice, slice ,这里给大家推荐一篇介绍 splice, slice 二者区别的文章. In JavaScript, m ...
- 详解JavaScript的splice()方法
from:http://www.jquerycn.cn/a_10447 在javascript中splice()方法,是一个很强的数组方法,它有多种用法.splice()主要用途是向数组的中部插入项. ...
- 详解 JavaScript 中 splice() 方法
splice() 方法是一个比较少用的方法,但是功能确实很好,并且在我们 coding 的时候,经常有需要 splice() 方法,先介绍一下该方法. 在 JavaScript 中 splice() ...
- split()方法 splice()方法 slice()方法
split()方法是对字符串的操作:splice()和slice()是对数组的操作.slice()也可用于字符串. 一.作用对象 1.split()方法是对字符串的操作:splice()和slice( ...
- jQuery基础学习5——JavaScript方法获取页面中的元素
给网页中的所有<p>元素添加onclick事件 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN& ...
- Android中通过WebView控件实现与JavaScript方法相互调用的地图应用
在Android中通过WebView控件,可以实现要加载的页面与Android方法相互调用,我们要实现WebView中的addJavascriptInterface方法,这样html才能调用andro ...
- 节点插入--对比jQuery和JavaScript方法(一)
二.插入元素: 1 <div> 2 <p>面朝大海,春暖花开</p> 3 </div> (一).jQuery方法 1.在节点内部插入: 方法 说明 ap ...
- js splice vs slice
js splice vs slice https://stackoverflow.com/questions/37601282/javascript-array-splice-vs-slice htt ...
- Iframe 父子窗体互调javascript方法及相互获取控件
父窗体中的Iframe标签如下,子窗体为Default.aspx; <iframe id="left" name="left" src="Def ...
随机推荐
- 关于Fragment API版本号兼容问题
Fragment 是在API 11(android 3.0)被引入的.然而我的应用 的 android:miniSdkVersion 是 API 8,也就是说该应用是兼容旧版本号的.为了可以兼容旧版 ...
- 【Excle】动态更新数据下拉菜单
现在我们制作了一个简单的下拉菜单,如下: 但是随着公司的逐渐扩大,部门也变得多了,目前我是把数据范围写死的 ,所有每次添加一个部门,就得修改数据范围,那么现在我们不想修改这个范围了,想让他每次添加部门 ...
- js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器
代码如下: /** 音乐播放器 * @param obj 播放器id * @param file 音频文件 mp3: ogg: * @param loop 是否循环 */ function audio ...
- MQTT压力测试之Tsung的使用
简介 Tsung 是一个压力测试工具,可以测试包括HTTP, WebDAV, PostgreSQL, MySQL, LDAP, and XMPP/Jabber等服务器.针对 HTTP 测试,Tsung ...
- zabbix proxy 安装
### 前期准备 ``` # 直接yum安装 ``` ### 安装 ``` # 安装 sqlite zabbix-proxy-sqlite3 yum -y install sqlite sql ...
- c#中从string数组转换到int数组及比较两个字符串相等
string[] input = { "1", "2", "3", "4", "5", " ...
- linux 实时显示文件的内容
1. watch -n 1 aa.txt #每个1秒显示aa.txt的内容 2. tail -f ***.log Linux shell中有一个tail命令,常用来显示一个文件的最后n行文档内容 但 ...
- 辛星跟您玩转vim第二节之用vim命令移动光标
首先值得一提的是,我的vim教程pdf版本号已经写完了,大家能够去下载.这里是csdn的下载地址:csdn下载.假设左边的下载地址挂掉了,也能够自行在浏览器以下输入例如以下地址进行下载:http:// ...
- JAVA 双重检查锁定和延迟初始化
双重检查锁定的由来在Java程序中,有时需要推迟一些高开销的对象的初始化操作,并且只有在真正使用到这个对象的时候,才进行初始化,此时,就需要延迟初始化技术.延迟初始化的正确实现是需要一些技巧的,否则容 ...
- Keil(MDK-ARM)使用教程(一)_界面+菜单
Ⅰ.概述 今天总结Keil(MDK-ARM)界面和菜单相关的内容,详情请往下看. 关于Keil的下载.安装和新建工程我已将在前面做了详细的总结,不懂的可以参考我博客里面相关的文章.该文章是在新建好工程 ...