slice()方法从已有的数组中返回选定元素;
slice(start,end)
start:必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end:可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
slice(start,end)截取start到(end-1)的内容。例子如下
var a="slience";
console.log(a.slice(1));//lience
console.log(a.slice(1,4));//lie
console.log(a.slice(-1));//e
console.log(a.slice(-4));//ence
console.log(a.slice(-4));//ence
console.log(a.slice(1,-4));//'li'
console.log(a.slice(1,-10));//'空字符串'
splice方法向/从数组中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组。
splice(index,howmany,item1,item2,,,,itemX)
index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1.item2,,,,,itemX:可选。向数组添加的新项目。
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
<script type="text/javascript">
var a="slience";
var b="sl,ie,nc,e";
b=b.split(',');
a=a.slice(2,5);
b.splice(2,0,'I');
console.log(a);//ien
console.log(b);// ["sl", "ie", "I", "nc", "e"]
</script>
splice只能对数组进行操作,不能对字符串进行操作,会改变数组内容,所以直接b.splice(2,0,'I');
slice可以对数组和字符串进行操作,不会改变内容所以需要写a=a.slice();