split()
函数用于使用指定分隔符分割字符串,并返回分割后的若干个子字符串组成的数组。
该函数属于String
对象,所有主流浏览器均支持该函数。
stringObject.split( separator [, limit ] )
如果参数separator
是字符串,则split()
函数将直接根据该字符串进行分割,而不会试图转换为正则表达式。如果指定的separator
参数为空字符串(""),那么stringObject
中的每个字符之间都会被分割。
如果提供了limit
参数,此函数返回的数组最多包含limit
个元素。如果参数limit
为负数,则该参数将被忽略掉。如果省略了limit
,则split()
函数不会考虑长度,直到分割完毕为止。如果limit
为0,则返回空的数组。
split()
方法的返回值为Array类型,返回完成分割后的子字符串数组。子字符串中不会包含separator
本身。
如果stringObject
中不存在separator
参数的匹配,则返回只包含原字符串的数组。
事例&说明:
var str = "张三 李四 王五 赵六"; // 以空格字符串进行分割 var array = str.split(" "); document.writeln( array ); // 张三,李四,王五,赵六 document.writeln( array.length ); // 4 str = "张三12李四34王五5赵六"; // 以数字进行分割 array = str.split(/\d+/); document.writeln( array ); // 张三,李四,王五,赵六 document.writeln( array.length ); // 4 str = "Google YouTube Gmail CodePlayer"; // 最多返回3个元素 array = str.split(" ", 3); document.writeln( array ); // Google,YouTube,Gmail document.writeln( array.length ); // 3 // limit为负数将被忽略掉 array = str.split(" ", -1); document.writeln( array ); // Google,YouTube,Gmail,CodePlayer document.writeln( array.length ); // 4
substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符.
stringObject.substr(start,length);start必须,length可选.
start 是截取的开始位置的下标,从0开始算起,必须是数字.可以是负数,-1是倒数第一个字符,-2是倒数第二个字符,以此类推.
length 是要截取的字符的长度,必须是数字.如果未指定,则从start位置处开始截取到字符串结尾.
substr 指定的是字符串的开始下标跟截取长度,所以可以替代substring跟slice使用.
重要事项:ECMAscript 没有对该方法进行标准化,因此反对使用它。
substring() 方法用于提取字符串中介于两个指定下标之间的字符。
stringObject.substring(start,end);start必须,end可选.
start 是截取的开始位置的下标,从0开始算起,必须是非负数字.(w3c说必须是非负整数,试验了下,不是整数也可以.)
end 必须是数字.如果未指定,则从start位置处开始截取到字符串结尾.
注意事项:substring截取的字符不包括end处的字符.所以截取的长度为end-start.
start=end的话,返回空字符串,长度为0.
重要事项:substring不接收负的参数,slice和substr可以.
slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
stringObject.slice(start,end);start必须,end可选.
start 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
end 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。
splice() 方法
定义和用法
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。
注释:该方法会改变原始数组。
语法
arrayObject.splice(index,howmany,item1,.....,itemX)
参数 | 描述 |
---|---|
index | 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 |
howmany | 必需。要删除的项目数量。如果设置为 0,则不会删除项目。 |
item1, ..., itemX | 可选。向数组添加的新项目。 |
返回值
类型 | 描述 |
---|---|
Array | 包含被删除项目的新数组,如果有的话。 |
说明
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
技术细节
JavaScript 版本: | 1.2 |
---|
浏览器支持
所有主流浏览器都支持 splice() 方法。
提示和注释
注释:请注意,splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改。
实例
例子 1
在本例中,我们将创建一个新数组,并向其添加一个元素:
<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
例子 2
在本例中我们将删除位于 index 2 的元素,并添加一个新元素来替代被删除的元素:
<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
例子 3
在本例中我们将删除从 index 2 ("Thomas") 开始的三个元素,并添加一个新元素 ("William") 来替代被删除的元素:
<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