splice()方法向/从数组中添加/删除项目,然后返回被删除的项目,该方法会改变原始数组。
arrayObject.splice(index,howmany,item,......,itemX)
参数index,必需,整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
参数howmany,必需,要删除的项目的数量,若为零,则不会删除项目。
参数item1,…,itemX,可选,向数组添加项目。
返回值为array,如果有删除,则会包含被删除的新项目。
说明:splice()方法可删除从index处开始的零个或多个元素,并且用参数列表中的一个或多个值来替换那些被删除的元素。如果从arrayObject中删除了元素,则返回的是含有被删除的元素的数组。
创建一个新数组,并添加一个元素
例如:
<script type="text/javascript">
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
document.write(arr + "<br />")
arr.splice(2,0,"William")
document.write(arr + "<br />")
</script>
输出
George,John,Thomas,James,Adrew,Martin
George,John,William,Thomas,James,Adrew,Martin
删除位于index2的元素并添加一个新元素来替代被删除的元素
例如:
<script type="text/javascript">
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
document.write(arr + "<br />")
arr.splice(2,1,"William")
document.write(arr)
</script>
输出:
George,John,Thomas,James,Adrew,Martin
George,John,William,James,Adrew,Martin
删除从index2开始的第三个元素,并添加一个新元素来替代被删除的元素
<script type="text/javascript">
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
document.write(arr + "<br />")
arr.splice(2,3,"William")
document.write(arr)
</script>
输出:
George,John,Thomas,James,Adrew,Martin
George,John,William,Martin
slice()方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
用法:stringObject.slice(start,end)
参数start,要抽取的片段的起始下标,如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。如-2指的是倒数第二个字符,
参数end,紧接着要抽取的片段的结尾下标,若没有指定此参数,则要提取的字符串包括start到原始字符串的结尾字符串,如果为负数,则是从字符串的尾部开始算起。
返回值是一个新的字符串,从start开始到end为止(不包括end)的字符串。
例如从位置6开始提取的所有字符
<script type="text/javascript">
var str="Hello happy world!"
document.write(str.slice(6))
</script>
输出
happy world!
提取从位置6到位置11的所有字符
<script type="text/javascript">
var str="Hello happy world!"
document.write(str.slice(6,11))
</script>
输出
happy
split()方法用于将一个字符串分割成一个数组
stringObject.split(separator,howmany)
参数separator,必须,字符串或正则表达式,从该参数的指定的地方分割stringObject
参数 howmany,可选,返回指定数组的最大长度,若设置,返回的子串不会多于这个参数指定的数组,若没有设置,整个字符串都会被分割,不考虑长度
返回值:
一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。
但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(不包括与整个正则表达式匹配的文本
注意:如果把空字符串 (“”) 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
按照不同方式分割字符串,例如
<script type="text/javascript">
var str="How are you doing today?"
document.write(str.split(" ") + "<br />")
document.write(str.split("") + "<br />")
document.write(str.split(" ",3))
</script>
输出
How,are,you,doing,today?
H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
How,are,you