splice()、split()、slice()的区分

因为在做题的时候遇到了这几个方法,长得比较像,所以区分一下。

一、splice()【数组】

splice() :从数组添加/删除项目,并返回删除的项目。

注:splice() 方法会改变原始数组。

语法:array.splice(start, deleteCount, item1, ....., itemX)

参数描述
start

必需。

整数,指定在数组的什么位置添加/删除项目,使用负值则指定从数组末尾开始的位置。

deleteCount可选。要删除的项目数。如果设置为 0,则不会删除任何项目。
item1, ....., itemX可选。要添加到数组中的新项目。

删除:a.splice(1,2)//删除a中的1、2两项

插入:a.splice(1,0, 'Lemon', 'Kiwi')//在a为1的元素前插入 'Lemon', 'Kiwi'

替换:a.splice(1,2, "Lemon", "Kiwi")//在a中替换1、2两个元素

//将项目添加到数组:
var a = ["Banana", "Orange", "Apple", "Mango"];
var b = a.splice(2, 0, "Lemon", "Kiwi");
//得到的结果:
//a=["Banana", "Orange","Lemon", "Kiwi", "Apple", "Mango"]
//b=[]

二、split()【字符串】

split() :用于把一个字符串分割成字符串数组。

语法:string.split(separator,howmany)

参数描述
separator必需。字符串或正则表达式,从该参数指定的地方分割 string。
howmany

可选。该参数可指定返回的数组的最大长度。

如果设置了该参数,返回的子串不会多于这个参数指定的数组。

如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

//案例一:
var str="How old are you?"
document.write(str.split(" ") + "<br />")//How,old,are,you?
document.write(str.split("") + "<br />")//H,o,w, ,o,l,d, ,a,r,e, ,y,o,u,?
document.write(str.split(" ",3))//How,old,are

//案例二:
"2:3:4:5".split(":")	//将返回["2", "3", "4", "5"]
" |a|b|c".split("|")	//将返回["", "a", "b", "c"]

注:①.如果把空字符串 ("") 用作 separator,那么 string 中的每个字符之间都会被分割。

        ②.string.split() 执行的操作与array.join执行的操作是相反的。

        ③.一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 string分割成子串创建的。返回的数组中的字串不包括 separator 自身。

        ④.如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。

三、slice()【数组、字符串】

slice() 方法以新的数组对象,返回数组中被选中的元素。

注:slice() 方法不会改变原始数组。

语法:array.slice(start, end)

参数描述
start

可选。整数,指定从哪里开始选择(第一个元素的索引为 0)。

使用负数从数组的末尾进行选择。如果省略,则类似于 "0"。

end

可选。整数,指定结束选择的位置。

如果省略,将选择从开始位置到数组末尾的所有元素使用负数从数组末尾进行选择。

//案例一:
var num = [1, 2, 3, 4, 5];
var a = num.slice(0,2);//[1,2]
var b = num.slice(1)//[2, 3, 4, 5]

//案例二:
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var myBest = fruits.slice(-3, -1);//["Lemon", "Apple", "Mango"]

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值