JS的splice()方法和slice()方法

在w3c school中描述如下:

定义和用法
splice() 方法用于插入、删除或替换数组的元素。
语法
arrayObject.splice(index,howmany,element1,.....,elementX)
参数 描述
index
必需。规定从何处添加/删除元素。
该参数是开始插入和(或)删除的数组元素的下标,必须是数字。
howmany
必需。规定应该删除多少元素。必须是数字,但可以是 "0"。
如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
element1 可选。规定要添加到数组的新元素。从 index 所指的下标处开始插入。
elementX 可选。可向数组添加若干元素。
返回值
如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
说明
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
提示和注释
注释:请注意,splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改。

曾看过一个js数组去重的方法,与splice方法有关,可作为参考,如下:

写道

1:
Array.prototype.distinct = function(){
for(var i = 0;i<this.length;i++){
var n = this[i ];
this.splice(i,1,null);
if(this.indexOf(n) < 0){
this.splice(i,1,n);//不存在重复
}else{
this.splice(i,1);//存在重复
}
}
return this;
};

2:
Array.prototype.distinct = function(){
var self = this;
var _a = this.concat().sort();
_a.sort(function(a,b){
if(a == b){
var n = self.indexOf(a);
self.splice(n,1);
}
});
return self;
};

而关于slice()方法,则有如下说明

定义和用法
slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
语法
stringObject.slice(start,end)
参数 描述
start 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
end 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。
返回值
一个新的字符串。包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。
说明
String 对象的方法 slice()、substring() 和 substr() (不建议使用)都可返回字符串的指定部分。slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。slice() 与 substr() 有所不同,因为它用两个字符的位置来指定子串,而 substr() 则用字符位置和长度来指定子串。
还要注意的是,String.slice() 与 Array.slice() 相似。

时间: 2024-10-28 15:42:50

JS的splice()方法和slice()方法的相关文章

【js】数组的splice方法和slice方法的区别

1.splice方法和slice都是数组的方法 2.splice方法有3种作用 例如,arr=[1,2,3,4,5,6]; splice方法 删除  arr.splice(1, 1); 返回值为删除的元素,类型为object  替换  arr.splice(1, 1, 'a'); 返回值为被替换的元素,类型为object  插入 arr.splice(1, 0, 'a', 'b'); 返回值为一个空数组,类型为object 注意:得到的新数组为[1,'a','b',2,3,4,5,6] 3.sl

js中的splice方法和slice方法

一.定义和用法splice() 方法用于插入.删除或替换数组的元素.语法arrayObject.splice(index,howmany,element1,.....,elementX)参数 描述index必需.规定从何处添加/删除元素.该参数是开始插入和(或)删除的数组元素的下标,必须是数字.howmany必需.规定应该删除多少元素.必须是数字,但可以是 "0".如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素.element1 可选.规定要添加到数组的新元素.从

js中的splice方法和slice方法简单总结

slice(start,end): 参数: start:开始位置的索引 end:结束位置的索引(但不包含该索引位置的元素) 例如: splice具有删除,插入,替换的功能 =================================================================== 1:删除的功能 splice(index,count) 参数: index:开始位置的索引 count:要删除元素的个数 返回:返回的是包含被删除元素的数组对象 例如: 结果: 2:插入功能

JS中的call()方法和apply()方法用法总结

JS中的call()方法和apply()方法用法总结  : 参考   :     https://blog.csdn.net/ganyingxie123456/article/details/70855586 原文地址:https://www.cnblogs.com/wfblog/p/9169026.html

J-Query开发锦集(3):appendTo()方法和append()方法

appendTo() 方法在被选元素的结尾(仍然在内部)插入指定内容. 提示:append() 和 appendTo() 方法执行的任务相同.不同之处在于:内容和选择器的位置,以及 append() 能够使用函数来附加内容. appendTo()方法代码展示: 1 <html> 2 <head> 3 <script type="text/javascript" src="/jquery/jquery.js"></script

ajaxForm()方法和submitForm()方法的参数

ajaxForm()方法和submitForm()方法都能接受0个或1个参数.当为单个参数时,该参数可以是一个回调函数,也可以是一个options对象,传递option对象,使它们拥有更多控制权: (1)首先定义一个对象options,然后在里面设置参数,代码如下:var options={ target: '#output1', //把服务器返回的内容放入id为output1的元素中 beforeSubmit: showRequest, //提交前的回调函数 success: showResp

prop()方法和attr()方法的区别

prop()方法和attr()方法的区别:关于这两个方法的具体用法这里就不多介绍了,可以参阅prop()和attr()方法相关手册即可.这两个方法作用好像是一模一样,其实绝大多数作用都是一样,只有在一些特殊的情况下才有可能出现一些差异,下面就结合实例实例介绍一下在这两个方法的区别.先看一段代码实例: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name=&q

详解equals()方法和hashCode()方法

前言 Java的基类Object提供了一些方法,其中equals()方法用于判断两个对象是否相等,hashCode()方法用于计算对象的哈希码.equals()和hashCode()都不是final方法,都可以被重写(overwrite). 本文介绍了2种方法在使用和重写时,一些需要注意的问题. 一.equal()方法 Object类中equals()方法实现如下: public boolean equals(Object obj) { return (this == obj); } 通过该实现

【学习笔记】【OC语言】set方法和get方法

1.set方法和get方法的使用场合@public的成员可以被随意赋值,应该使用set方法和get方法来管理成员的访问(类似机场的安检.水龙头过滤,过滤掉不合理的东西),比如僵尸的生命值不能为负数2.set方法作用:用来设置成员变量,可以在方法里面过滤掉一些不合理的值命名规范:方法都是以set开头,而且后面跟上成员变量名,成员变量名的首字母必须大写形参名称不要跟成员变量同名3.get方法作用:返回对象内部的成员变量命名规范:get方法的名称一般就跟成员变量同名4.成员变量的命名规范成员变量都以下