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 ...
随机推荐
- Objective-C(十七、KVC键值编码及实例说明)——iOS开发基础
结合之前的学习笔记以及參考<Objective-C编程全解(第三版)>,对Objective-C知识点进行梳理总结.知识点一直在变,仅仅是作为參考,以苹果官方文档为准~ 十七.键值编码 K ...
- 工作总结 string类型保存 "" 这种类型
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- web info
http://blog.csdn.net/qq_24473141/article/details/51363662 http://blog.sina.com.cn/s/blog_8e392fc2010 ...
- 【Nginx-反向代理server】基础知识(二)之多进程模式
Nginx的多进程模式 nginx在启动后.会有一个master进程和多个worker进程.master进程主要用来管理worker进程,包括:接收来自外界的信号.向各worker进程发送信号,监控w ...
- vue 深入响应式原理
vue最显著的特性就是不太引人注意的响应式系统(reactivity system),模型层(model)只是普通的javascript对象,修改它则更新视图view.这会让状态管理变得非常简单且直观 ...
- iOS中解析Bonjour服务(转)
服务器端Bonjour服务发布成功之后,客户端可以通过NSNetService解析服务,解析成功后,可以获得通讯的数据细节,如:IP地址.端口等信息. 首先需要实例化NSNetService对象代码如 ...
- PHP使用CURL获取302跳转后的地址实例
/*返回一个302地址*/ function curl_post_302($url, $vars) { $ch = curl_init(); curl_setopt($ch ...
- Spring MVC的@ResponseBody回来JSON串
1 406错误 <mvc:annotation-driven />不用动,请求的时候URL的文件扩展名应为json @ResponseBody会根据扩展名,或者Header,或者Param ...
- Java基础02 方法与数据成员(转载)
对象中的数据成员表示对象的状态.对象可以执行方法,表示特定的动作. 此外,我们还了解了类(class).同一类的对象属于相同的类型(type).我们可以定义类,并使用该定义来产生对象. 调用同一对 ...
- Mary的加盟
Mary的加盟 1995年早些时候,我们招收了一个合同编制员——Mary Campione.她和我在后来的工作互助中相识.Mary的工作是帮助程序员使用平台特色如线程.我们很快意识到我们的工作如此相似 ...