對於數組(字符串)slice方法的總結


數組(字符串)使用slice方法的目的就是截取目標數組(字符串),通俗的來講就是截取想要的。網上有很多slice方法的實例加以說明,在此主要是從特殊到一般對此方法進行了總結。

先說總結的方法,再看下面的例子進行理解。

假設已知一個數組長度為len,則參數的有效范圍為[-len,len-1],-len和0為第一個元素的下標,-1和len-1表示最后一個元素的下標。slice()總共有兩個參數,不填參數返回所有元素;若只填一個參數x,則x為起始元素的下標(起始元素一定會被截取),返回x之后的所有元素為新的數組(包括x),若x>=len,則返回空數組,即什么也沒截取;若x<=-len||x=0,則截取全部;若填寫兩個參數x,y(x為起始元素下標值,y為結束元素下標值。注:不截取下標為y的元素);先列出能截取到元素的取值情況(有效范圍內):x,y同號時(此處把0歸為正),x<y;x,y異號時,x為正,y為負,則|x|+|y|<len;x為負,y為正,則|x|+|y|>len;有效范圍外,x<len,y>-len。

以上包括所有情況,總的原則就是保證下標為y的元素要在x的后面才可截取。看下面例子加強理解

1、不填參數

1 var arr = new Array("a","b","c","d");
2 console.log(arr.slice());//["a","b","c","d"]相當於截取全部

2、一個參數

1 var arr = new Array("a","b","c","d");
2 console.log(arr.slice(2));//["c","d"];
3 console.log(arr.slice(-2));//["c","d"];
4 console.log(arr.slice(-5));//["a","b","c","d"]超出范圍
5 console.log(arr.slice(5));//[]超出范圍

3、兩個參數

1 var arr = new Array("a","b","c","d");//len = 4 有效[-4,3]
2 console.log(arr.slice(1,3));//["b","c"]包括b不包括d x<y
3 console.log(arr.slice(-3,-2));//["b"] x<y
4 console.log(arr.slice(0,-2));//["a","b"] |x|+|y|<4
5 console.log(arr.slice(-3,2));//["b"] |x|+|y|>4
6 console.log(arr.slice(4,2));//[] x>4 一定為空
7 console.log(arr.slice(-3,0));//[] y=0 一定為空
8 console.log(arr.slice(-3,-4));//[] y<=-4 一定為空
9 console.log(arr.slice(1,100));//["b","c","d"]y>len-1能取到最后一個元素

字符串與數組slice用法相似。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM