本文主要是介绍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"]
这篇关于splice()、split()、slice()的区分的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!