js---splice,slice,join,split简单介绍

splice,join是对数组进行操作,join是把数组形式转换成字符串形式
split是对字符串进行操作,把字符串形式转换成数组形式
slice既可以对数组进行操作,也可以对字符串进行操作

splice(beginIndex,deleteNum,insertItem)

会改变原数组,返回的是删除的数组项组成的新数组
beginIndex:开始位置(包括这个位置),必须的选项
deleteNum:删除的个数,非必须,不写时表示从开始位置到末尾删除
insertItem:插入的项(可以单个写,用’,'隔开,也可以写成一个数组形式),非必须,不写时表示不插入

  1. 参数只有 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

  1. 参数有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

  1. 参数有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 结束位置,不写时表示从开始位置到最后,可以为负数

  1. 参数只有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

  1. 参数有 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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值