splice,join是对数组进行操作,join是把数组形式转换成字符串形式
split是对字符串进行操作,把字符串形式转换成数组形式
slice既可以对数组进行操作,也可以对字符串进行操作
splice(beginIndex,deleteNum,insertItem)
会改变原数组,返回的是删除的数组项组成的新数组
beginIndex:开始位置(包括这个位置),必须的选项
deleteNum:删除的个数,非必须,不写时表示从开始位置到末尾删除
insertItem:插入的项(可以单个写,用’,'隔开,也可以写成一个数组形式),非必须,不写时表示不插入
- 参数只有 beginIndex
<html>
<body>
<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)
document.write(arr)
</script>
</body>
</html>
运行结果
George,John,Thomas,James,Adrew,Martin
George,John
- 参数有beginIndex 和 deleteNum(返回的值是 删除的数组项组成的数组)
<html>
<body>
<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 />")
//newarr 存放的是返回的值
var newarr = arr.splice(2,2)
document.write(arr + '<br />')
document.write(newarr)
</script>
</body>
</html>
运行结果
George,John,Thomas,James,Adrew,Martin
George,John,Adrew,Martin
Thomas,James
- 参数有beginIndex , deleteNum 和 insertItem
<html>
<body>
<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 />")
//newarr 存放的是返回的值
var newarr = arr.splice(2,2,'weishurong','weishurong000')
document.write(arr + '<br />')
document.write(newarr)
</script>
</body>
</html>
运行结果
George,John,Thomas,James,Adrew,Martin
George,John,weishurong,weishurong000,Adrew,Martin
Thomas,James
slice(beginIndex,endIndex)
不改变原数组/字符串,返回的是从开始位置到结束位置(不包括结束位置)的数组项/子字符串
beginIndex 开始位置,必须的选项,可以为负数,表示倒数的第几个,如-1表示最后一个数
endIndex 结束位置,不写时表示从开始位置到最后,可以为负数
- 参数只有beginIndex
<html>
<body>
<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 />")
document.write(arr.slice(2) +'<br />')
document.write(arr)
</script>
</body>
</html>
运行结果
George,John,Thomas,James,Adrew,Martin
Thomas,James,Adrew,Martin
George,John,Thomas,James,Adrew,Martin
- 参数有 beginIndex 和 endIndex(beginIndex表示的位置必须在 endIndex的前面)
1)两个参数都为整数
<html>
<body>
<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 />")
document.write(arr.slice(2,4) +'<br />')
document.write(arr)
</script>
</body>
</html>
运行结果
George,John,Thomas,James,Adrew,Martin
Thomas,James
George,John,Thomas,James,Adrew,Martin
2)两个参数都为负数
<html>
<body>
<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 />")
document.write(arr.slice(-4,-2) +'<br />')
document.write(arr)
</script>
</body>
</html>
运行结果
George,John,Thomas,James,Adrew,Martin
Thomas,James
George,John,Thomas,James,Adrew,Martin
3)一个参数为正,一个参数为负时
<html>
<body>
<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 />")
document.write(arr.slice(-4,3) +'<br />')
document.write(arr)
</script>
</body>
</html>
运行结果
George,John,Thomas,James,Adrew,Martin
Thomas
George,John,Thomas,James,Adrew,Martin
join(separator)
不会改变原数组
把数组以指定方式分割返回字符串形式
separator 指定的分隔符,不写时默认为 ‘,’
<html>
<body>
<script type="text/javascript">
var arr = new Array(3);
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr.join());
document.write("<br />");
document.write(arr.join("."));
document.write("<br />");
document.write(arr)
document.write("<br />");
document.write(typeof arr.join("."));
</script>
</body>
</html>
运行结果
George,John,Thomas
George.John.Thomas
George,John,Thomas
string
split(separator,howmany)
用于把字符串分割成字符串数组
不改变原字符串,返回的是字符串数组
separator 必须的选项,字符串或者正则表达式,以该字符串或正则表达式 来分割字符串
howmany 可以不写,指定返回数组长度
如果把空字符串 ("") 用作 separator,那么 string 中的每个字符之间都会被分割。
<html>
<body>
<script type="text/javascript">
var str="How are you doing today?"
document.write(str.split(" ") + "<br />")
document.write(str.split('o') + '<br />')
document.write(str.split("") + "<br />")
document.write(str.split(" ",3) + '<br />')
document.write(str + '<br />')
document.write(Array.isArray(str.split('')))
</script>
</body>
</html>
运行结果
How,are,you,doing,today?
H,w are y,u d,ing t,day?
H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
How,are,you
How are you doing today?
true