关于splice()方法,slice() 、split()方法讲解,reverse()方法、replace()方法
1、slice() 方法可從已有的數(shù)組中返回選定的元素。
語法
arrayObject.slice(start,end)| start | 必需。規(guī)定從何處開始選取。如果是負(fù)數(shù),那么它規(guī)定從數(shù)組尾部開始算起的位置。也就是說,-1 指最后一個(gè)元素,-2 指倒數(shù)第二個(gè)元素,以此類推。 |
| end | 可選。規(guī)定從何處結(jié)束選取。該參數(shù)是數(shù)組片斷結(jié)束處的數(shù)組下標(biāo)。如果沒有指定該參數(shù),那么切分的數(shù)組包含從 start 到數(shù)組結(jié)束的所有元素。如果這個(gè)參數(shù)是負(fù)數(shù),那么它規(guī)定的是從數(shù)組尾部開始算起的元素。 |
返回值
返回一個(gè)新的數(shù)組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。
說明
請注意,該方法并不會(huì)修改數(shù)組,而是返回一個(gè)子數(shù)組。如果想刪除數(shù)組中的一段元素,應(yīng)該使用方法 Array.splice()。
提示和注釋
注釋:您可使用負(fù)值從數(shù)組的尾部選取元素。
注釋:如果 end 未被規(guī)定,那么 slice() 方法會(huì)選取從 start 到數(shù)組結(jié)尾的所有元素。
?
2、splice() 方法向/從數(shù)組中添加/刪除項(xiàng)目,然后返回被刪除的項(xiàng)目。
注釋:該方法會(huì)改變原始數(shù)組。
語法
arrayObject.splice(index,howmany,item1,.....,itemX)| index | 必需。整數(shù),規(guī)定添加/刪除項(xiàng)目的位置,使用負(fù)數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。 |
| howmany | 必需。要?jiǎng)h除的項(xiàng)目數(shù)量。如果設(shè)置為 0,則不會(huì)刪除項(xiàng)目。 |
| item1, ..., itemX | 可選。向數(shù)組添加的新項(xiàng)目。 |
返回值
| Array | 包含被刪除項(xiàng)目的新數(shù)組,如果有的話。 |
說明
splice() 方法可刪除從 index 處開始的零個(gè)或多個(gè)元素,并且用參數(shù)列表中聲明的一個(gè)或多個(gè)值來替換那些被刪除的元素。
如果從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的數(shù)組。
所有主流瀏覽器都支持 splice() 方法。
注釋:請注意,splice() 方法與 slice() 方法的作用是不同的,splice() 方法會(huì)直接對數(shù)組進(jìn)行修改。
例子 1
在本例中,我們將創(chuàng)建一個(gè)新數(shù)組,并向其添加一個(gè)元素:
<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,0,"William") document.write(arr + "<br />")</script>輸出:
George,John,Thomas,James,Adrew,Martin George,John,William,Thomas,James,Adrew,Martin3、split() 方法用于把一個(gè)字符串分割成字符串?dāng)?shù)組。
語法
stringObject.split(separator,howmany)| separator | 必需。字符串或正則表達(dá)式,從該參數(shù)指定的地方分割 stringObject。 |
| howmany | 可選。該參數(shù)可指定返回的數(shù)組的最大長度。如果設(shè)置了該參數(shù),返回的子串不會(huì)多于這個(gè)參數(shù)指定的數(shù)組。如果沒有設(shè)置該參數(shù),整個(gè)字符串都會(huì)被分割,不考慮它的長度。 |
返回值
一個(gè)字符串?dāng)?shù)組。該數(shù)組是通過在?separator?指定的邊界處將字符串 stringObject 分割成子串創(chuàng)建的。返回的數(shù)組中的字串不包括?separator?自身。
但是,如果?separator?是包含子表達(dá)式的正則表達(dá)式,那么返回的數(shù)組中包括與這些子表達(dá)式匹配的字串(但不包括與整個(gè)正則表達(dá)式匹配的文本)。
提示和注釋
注釋:如果把空字符串 ("") 用作?separator,那么 stringObject 中的每個(gè)字符之間都會(huì)被分割。
注釋:String.split() 執(zhí)行的操作與?Array.join?執(zhí)行的操作是相反的。
實(shí)例
例子 1
在本例中,我們將按照不同的方式來分割字符串:
<script type="text/javascript">var str="How are you doing today?"document.write(str.split(" ") + "<br />") document.write(str.split("") + "<br />") document.write(str.split(" ",3))</script>輸出:
How,are,you,doing,today? H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,? How,are,you4、reverse() 方法用于顛倒數(shù)組中元素的順序。
語法
arrayObject.reverse()提示和注釋
注釋:該方法會(huì)改變原來的數(shù)組,而不會(huì)創(chuàng)建新的數(shù)組。
實(shí)例
在本例中,我們將創(chuàng)建一個(gè)數(shù)組,然后顛倒其元素的順序:
<script type="text/javascript">var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas"document.write(arr + "<br />") document.write(arr.reverse())</script>輸出:
George,John,Thomas Thomas,John,George5、replace() 方法
用于在字符串中用一些字符替換另一些字符,或替換一個(gè)與正則表達(dá)式匹配的子串。
語法
stringObject.replace(regexp/substr,replacement)| regexp/substr | 必需。規(guī)定子字符串或要替換的模式的 RegExp 對象。 請注意,如果該值是一個(gè)字符串,則將它作為要檢索的直接量文本模式,而不是首先被轉(zhuǎn)換為 RegExp 對象。 |
| replacement | 必需。一個(gè)字符串值。規(guī)定了替換文本或生成替換文本的函數(shù)。 |
返回值
一個(gè)新的字符串,是用?replacement?替換了 regexp 的第一次匹配或所有匹配之后得到的。
說明
字符串 stringObject 的 replace() 方法執(zhí)行的是查找并替換的操作。它將在 stringObject 中查找與 regexp 相匹配的子字符串,然后用?replacement?來替換這些子串。如果 regexp 具有全局標(biāo)志 g,那么 replace() 方法將替換所有匹配的子串。否則,它只替換第一個(gè)匹配子串。
replacement?可以是字符串,也可以是函數(shù)。如果它是字符串,那么每個(gè)匹配都將由字符串替換。但是 replacement 中的 $ 字符具有特定的含義。如下表所示,它說明從模式匹配得到的字符串將用于替換。
| $1、$2、...、$99 | 與 regexp 中的第 1 到第 99 個(gè)子表達(dá)式相匹配的文本。 |
| $& | 與 regexp 相匹配的子串。 |
| $` | 位于匹配子串左側(cè)的文本。 |
| $' | 位于匹配子串右側(cè)的文本。 |
| $$ | 直接量符號(hào)。 |
注意:ECMAScript v3 規(guī)定,replace() 方法的參數(shù) replacement 可以是函數(shù)而不是字符串。在這種情況下,每個(gè)匹配都調(diào)用該函數(shù),它返回的字符串將作為替換文本使用。該函數(shù)的第一個(gè)參數(shù)是匹配模式的字符串。接下來的參數(shù)是與模式中的子表達(dá)式匹配的字符串,可以有 0 個(gè)或多個(gè)這樣的參數(shù)。接下來的參數(shù)是一個(gè)整數(shù),聲明了匹配在 stringObject 中出現(xiàn)的位置。最后一個(gè)參數(shù)是 stringObject 本身。
實(shí)例
例子 1
在本例中,我們將使用 "W3School" 替換字符串中的 "Microsoft":
<script type="text/javascript">var str="Visit Microsoft!" document.write(str.replace(/Microsoft/, "W3School"))</script>輸出:
Visit W3School!例子 2
在本例中,我們將執(zhí)行一次全局替換,每當(dāng) "Microsoft" 被找到,它就被替換為 "W3School":
<script type="text/javascript">var str="Welcome to Microsoft! " str=str + "We are proud to announce that Microsoft has " str=str + "one of the largest Web Developers sites in the world."document.write(str.replace(/Microsoft/g, "W3School"))</script>輸出:
Welcome to W3School! We are proud to announce that W3School has one of the largest Web Developers sites in the world.例子 3
您可以使用本例提供的代碼來確保匹配字符串大寫字符的正確:
text = "javascript Tutorial"; text.replace(/javascript/i, "JavaScript");例子 4
在本例中,我們將把 "Doe, John" 轉(zhuǎn)換為 "John Doe" 的形式:
name = "Doe, John"; name.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");例子 5
在本例中,我們將把所有的花引號(hào)替換為直引號(hào):
name = '"a", "b"'; name.replace(/"([^"]*)"/g, "'$1'");例子 6
在本例中,我們將把字符串中所有單詞的首字母都轉(zhuǎn)換為大寫:
name = 'aaa bbb ccc'; uw=name.replace(/\b\w+\b/g, function(word){return word.substring(0,1).toUpperCase()+word.substring(1);});轉(zhuǎn)載于:https://www.cnblogs.com/chenhuichao/p/7832670.html
總結(jié)
以上是生活随笔為你收集整理的关于splice()方法,slice() 、split()方法讲解,reverse()方法、replace()方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux强制将数据写入磁盘,防止丢失内
- 下一篇: 递归与斐波那契数列