1、split方法 (对字符串的操作)
split()方法用于将一个字符串(string)分割成字符串数组(arr)。
split(separator, howmany)该方法包含2个参数:
separator:参数表示你将用何种方式(用什么东西)对字符串进行分割。
howmany:参数表示分割完成后你剩下几个参数。
特别提醒:String.split() 执行的操作与 Arr.join() 执行的操作是相反的。
具体用法:
var str="How are you doing today?"
document.write(str.split(" ") + "<br />")//split方法切割字符串以后不包含切割的内容也就是不包含separator document.write(str.split("") + "<br />")//若默认什么都没有则将该字符串所有内容进行切割 document.write(str.split(" ",3))//若存在第二个参数则只将切割的数组按照参数2的数值个数进行返回
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
2、splice (对数组的操作)
splice()方法是从数组中添加/删除项目,然后返回被删除的项目。
特别提醒:该方法会改变原来的数组
splice(index, howmany, item1, ..., itemX)该方法包含3个参数:
index: 必须,表示添加/删除的开始位置,若使用负数则可以从数组的末尾进行定位。
howmany: 必须,表示要删除的个数,如果设置为0,则不会删除项目。
item: 可选,表示往该数组中添加的新元素,元素之间用逗号隔开。
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") //从arr数组下标为2的元素开始,删除0个元素,往下标为2的元素后边添加1个元素William.
输出结果:
George,John,Thomas,James,Adrew,Martin George,John,William,Thomas,James,Adrew,Martin
3、slice
splice()方法可从已有的数组中返回选定的元素
特别提醒:该方法不会修改原来的数组,而是返回一个子数组,如果想删除数组中的一段元素,请使用Arr.splice().
slice(start, end)参数说明如下:
start:必须,规定从数组中的那个位置进行选取。如果是-1则从数组中的最后一位开始。
end: 可选,规定从何处选取结束,如果没有此参数则从start位置开始选取到数组中的最后一位。
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 />")
document.write(arr.slice(2,4)
+ "<br />") // 从数组中下表为2的位置开始,截取到下标为4的位置,所选取的内容含头不含尾。
document.write(arr)
George,John,Thomas,James,Adrew,Martin Thomas,James George,John,Thomas,James,Adrew,Martin
总结:
split(separator, howmany)是对字符串进行操作,将字符串按照规定的separator进行切割并返回数组,所返回的数组不包含separator项目。
splice(index, howmany, item1, ..., itemX),slice(start, end)都是对数组进行操作,区别在于:
1、splice会改变原来的数组,slice则不会。
2、splice是对数组的添加/删除进行操作,slice则是对数组进行选取并返回新数组。
3、splice可以像原数组中添加元素,slice则不会。
4、splice 从index(下标)到howmany(个数)进行删除,删除后不包含index到howmany的元素。
5、slice 从start(下标)开始选取到end(下标)结束。选取的内容包含start(下标开始)不包含end(下标结束)。
纯手打,自己实际应用中对这3个方法的简单理解,大鸟请多批评教育。