javascrpit中的slice()方法和splice()方法

来源:互联网 发布:安徽航信网络开票系统 编辑:程序博客网 时间:2024/05/16 23:54
1.slice()
可提取字符串的某个部分,并以新字符串返回被提取的部分
形如
slice(start,[end]);
start 必需项 开始位置
end 可选项 结束位置
(1) end 没赋值 
[1] start > -str.length || start = 0 返回整个字符串;
[2] -str.length < start < 0 , 从右至左,获取字符串,newStr.length = |start|;
[3]str.length> start > 0 从左至右,获取字符串,newStr.length = str.length-start;
[4]start > str.length 返回 ""

(2)end赋值
[1]end = 0
不管start为何值 返回"";

[2] end > str.length 可视为 end = str.length
<1>start >= end 返回 "";
<2>end > start > 0 返回newStr.length = end-start ,下标0为标志,从start开始
<3>start = 0 返回整个字符串;
<4>0>start>-str.length,从右至左,newStr.length = |start|
<5>-str.length >start 返回整个字符串

 [3]  str.length > end >0
<1>-str.length >= start 从右至左返回 newStr.length = end;
<2>-str.length<start<0 从右至左,先确定返回新字符串为newStr.length = end,然后,再从右至左读|start|值
<3>start = 0 ;
<4>0<start < str.lenth
<5>start > = str.length 返回"";

[4] -str.length<end< 0 暂不考虑

2.splice()方法
用于插入、删除或者替换数组的元素
形式
arrayObject.splice(index,howmany,element1,......,elementx);
index 必需项 何处添加/删除元素
howmany 必需项 删除多少个元素 可为0 省略:删除从index开始到原数组结尾的所有元素
element1 可选项 添加到数组的新元素,从index所指下标开始插入
elementx 可选项 向数组添加若干元素
返回值:从arrayObject中删除了元素,则返回的是含有被删除元素的数组
举例
(1)删除
var lang = ["php","java","javascript"];
var removed = lang.splice(1,1);
lang;// ["php","javascript"];
removed;//["java"];

(2)插入
var insert = lang.splice(0,0,"asp");
insert;//[];
lang;// ["asp","php","javascript"];

(3)替换
var replace = lang.splice(1,1,"c#","ruby");
lang;//["asp","c#","ruby","javascript"];
replace;//["php"]

0 0