slice()与splice()

定义

splice() 方法 用于插入、删除或替换数组的元素。

slice() 方法 可提取字符串的某个部分,返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。。

用法 

      splice 的参数 :splice (start, deleteCount, [item1[, item2[, . . . [,itemN]]]])

数组从 start下标开始,删除deleteCount 个元素,并且可以在这个位置开始添加 n个元素.当start ,deleteCount 均为0 的时候,也就是在数组的最前面插入新的元素。当 参数只有 start,deleteCount 就是从start 下标开始删除deleteCount 个数组的元素,当参数只有start参数时,就是删除 从start下标起至最后 的元素当参数 为负的时 则该参数规定的是从数组元素的尾部开始算起的位置 (-1 指的是 数组中倒数第一个元素, -2 指的是,数组中倒数第二个元素。)

      slice 参数 : slice(start,end);

slice 方法,在string对象和array对象 的用法上类似。

对于数组对象来说,slice 方法提取 从 start下标起 以end下标 为结尾的 一段元素(但不包括end下标的元素),然后返回新的数组,对原数组没有任何是影响,当参数为负时 则该参数 是从 数组的末尾 索引 开始算起,(-1 指的是 数组中倒数第一个元素, -2 指的是,数组中倒数第二个元素。)当参数为一个参数,当为一个参数时,提取 是以 start下标起 至末尾的 部分元素。当start 为0 时, 等于说是 克隆一个新的数组,克隆后 两个数组进行各自的操作,都互不影响,

var clone = array.slice(0);

 

      当然 复制 数组还有其他办法

借用concat()函数进行数组的复制:

concat() 用于进行数组的合并。使用语法为:  arrayObject.concat(arrayX,arrayX,......,arrayX)  
      concat()用于多个数组的合并,但是返回的结果是一个新的数组,而不再引用用于合并的任何一个数组。可以利用它的这个特性来用一个数组连接空数组或直接不传参数完成clone的功能. 
      var clone= array.concat();

时间: 2024-10-12 13:16:00

slice()与splice()的相关文章

slice()、splice()详解

前面在开发的时候对于slice().splice()这两个函数老是模糊不清,不清楚具体的参数传参以及用法. 今天写个笔记专门记录一下. 1.slice()  从指定位置删除数组里面的元素,可以传一个或者两个参数.不破坏原来的数组. var a=[1,2,3,4,5]; alert(a.slice(2)); //3,4,5 alert(a.slice(2,1)) //3 2.splice()这个就比slice强大太多了,主要有删除.插入.替换三个功能.基本可以代替slice()使用. 删除:可以删

concat()、slice()、splice()

concat() 方法可以基于当前数组中的所有项创建一个新数组.具体来说,这个方法会先创建当前数组的一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组.在没有给 concat() 方法传递参数的情况下,它只是复制当前数组并返回副本.如果传递给 concat() 方法的是一或多个数组,则该方法会将这些数组中的每一项都添加到结果数组中.如果传递的值不是数组,这些值就会被简单地添加到结果数组的末尾.如下所示: var colors = ["red", "gree

关于数组的 slice() 和 splice() 方法

slice() 是创建一个新的数组(所以不能 array.slcie(1,4)这样用 必须 var a = array.slice(1,4) 这样赋给一个变量吗? ),并且这个例子的返回值是 数组的 1 到 3(没有4)项 splice() 是在原数组上进行操作,因此可以是 array.splice(1,4) 也可以是 var a = array.splice(1,4) 但是要注意,splice的(1,4) 中的 1 和 slice(1,4) 的 1 含义相同,都表示从 数组索引为1开始,但是

JavaScript中的slice() 和 splice()

slice() 和 splice() 是 JavaScript 中 Array 对象原型的两个方法,由于方法名很相像,经常会记混两者的作用,下面来做一个明确的区分. 1.slice(start[, end]): 从数组中取元素,返回取出的子数组,对原数组无影响.其中,start 参数必填,表示取元素的起始位置:end 参数可选,表示取元素的终止位置,但不包含 array[end] 元素(可以理解为最终取出的数组中元素有 end -start 个),如果 end 为空,则默认为array.leng

再次认识slice和splice,比较总结

这两个方法都算是处理数组中经常的了.但是看似功能相似,其实区别还是蛮大的,尤其是splice.抽空做一个比较,不算深入吧,至少避免在今后的开发开发过程中出现不必要的麻烦. 英文: slice:切成片; 切下; 划分; splice:绞接; 捻接(两段绳子); 胶接; 粘接(胶片.磁带等); 定义: * slice:slice() 方法可从已有的数组中返回选定的元素: * splice:splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目: 功能: 共性: 1.都是对数组的操作,

js中slice、splice用法与区别

1.slice(start,end)(参数可选) slice() 方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象.原始数组不会被修改. var a = ['a', 'b', 'c', 'd'] var b = a.slice(0, 1) console.log(a); //['a', 'b', 'c', 'd'] console.log(b); //['a'] 不传参数,默认从0开始,可以复制数组: var a = ['a', 'b', 'c', 'd'];var

slice、splice、splite区别

这三个长得很像,具体功能却差很多. slice: 定义:接收一个或两个参数,它可以创建一个由当前数组中的一项或多项组成的新数组.返回为新数组,以前的数组没有变化. var allArray = [1,2,3,4]; var sliceArray = allArray.slice(1,2); 此时allArray还是[1,2,3,4],silceArray是[2] splice: 一个强大的js数组操作方法,可以完成删除.插入.替换(删除+插入)功能. arrayObject.splice(ind

slice、splice和split

1.slice(数组) 用法:array.slice(start,end) 解释:该方法是对数组进行部分截取,并返回一个数组副本:参数start是截取的开始数组索引,end参数等于你要取的最后一个字符的位置值加上1(可选) //如果不传入参数二,那么将从参数一的索引位置开始截取,一直到数组尾var a=[1,2,3,4,5,6];var b=a.slice(0,3); //[1,2,3] var c=a.slice(3); //[4,5,6] //如果两个参数中的任何一个是负数,array.le

JS中的slice()和splice()的区别以及记忆方式

总结 splice()会改变原来的数组,返回的是被改变的内容,比如说通过splice删掉了某一项,那么返回的是删掉的这一项,当然还是会以数组的形式返回. slice不会对原数组进行改变,会返回一个新的数组.利用slice同样也可以实现根据索引删除某一项 我是怎么记忆的 splice的前缀是sp,sp代表着super是超级的意思,说明它有超级权限,就是说会改变原有数组的权限,会对原有数组进行删除增加的权限.sp的p念起来就是屁,屁被人体减去的东西,因此splice返回值的就是 被删除的东西. 详解