javascript中數(shù)組(Array)對(duì)象和字符串(String)對(duì)象的常用方法總結(jié)
本文實(shí)例總結(jié)了javascript中數(shù)組(Array)對(duì)象和字符串(String)對(duì)象的常用方法。分享給大家供大家參考,具體如下:
綜述:筆者經(jīng)常將數(shù)組的方法和字符串的方法混淆,這里寫(xiě)篇日志,做個(gè)區(qū)分
1.字符串對(duì)象
String是JavaScript中的五種基本類(lèi)型之一。
(1)字符串對(duì)象的創(chuàng)建
例1:
var str="Hello world";
或者
var str=new String("Hello world")
(2)charAt()方法
charAt()方法用于返回指定位置的字符串,比如我們想返回str字符串中,第二個(gè)字符,則可以寫(xiě)成charAt(1),因?yàn)樽址南聵?biāo)也是從0開(kāi)始,因此我們返回了第二個(gè)字符e;
例2:
var str="Hello world"; alert(str.charAt(1)) //輸出e
(3)indexOf(注意O要大寫(xiě))
indexOf()方法,可返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置。
例3:
var str="Hello world";alert(str.indexOf('e')) //輸出1
indexOf()方法還可以有第二個(gè)參數(shù)規(guī)定字符串開(kāi)始檢索的位置
(4)split()方法
split()方法,可以按規(guī)則分割字符串。比如:
例4:
var x="86-029-19201920";alert(x.split(-)) //輸出 86 029 19201920
split()方法還可以有第二個(gè)參數(shù),表示分割的次數(shù),如果省略,默認(rèn)分割次數(shù)不限
(5)substring()方法
substring()方法,可以提取字符串,改方法有兩個(gè)參數(shù),第一個(gè)參數(shù)表示起始位置,第二個(gè)參數(shù)表示終止位置,如果省略第二個(gè)參數(shù),默認(rèn)提取到字符串的結(jié)尾。
例5:
var x="Hello world";alert(x.substring(0,4)); //輸出Hello
(6)substr()方法
substr()方法,也可以用于提取字符串,不同的是該方法的兩個(gè)參數(shù),第一個(gè)參數(shù)表示起始位置,第二個(gè)參數(shù)表示提出字符串的個(gè)數(shù)。
例6:
var x="Hello world";alert(x.substr(0,5)); //同樣輸出Hello
2.數(shù)組對(duì)象(Array)
(1)數(shù)組對(duì)象的創(chuàng)建
例1:
var arr=new Array(10) ; var arr=[1,2,3]; var arr=new Array(1,2,3); var arr=[];
數(shù)組創(chuàng)建的方法一般有這么幾種,其中var arr=new Array(1,2,3)這種方式較為少見(jiàn)。
(2)concat()方法
例2:
var x=[1,2,3]; var y=x.concat(4,5); alert(y); //輸出y為1,2,3,4,5
concat() 方法用于連接兩個(gè)或多個(gè)數(shù)組。此方法返回一個(gè)新數(shù)組,不改變?cè)瓉?lái)的數(shù)組。
(3)join()方法
例3:
var x=[1,2,3]; alert(x.join("-")); //輸出的位1-2-3
join()方法用于把數(shù)組中的所有元素放入一個(gè)字符串。元素是通過(guò)指定的分隔符進(jìn)行分隔的。
(4)reverse()方法
數(shù)組反轉(zhuǎn),不會(huì)生成新的數(shù)組
例4:
var x=[1,2,3]; alert(x.reverse()); //輸出的位3,2,1
(5)slice()方法
slice() 方法可從已有的數(shù)組中返回選定的元素。slice方法也有2個(gè)參數(shù),第一個(gè)參數(shù)表示開(kāi)始位置,第二個(gè)參數(shù)表示結(jié)束位置。
(6)splice()方法
splice()方法用于在數(shù)組中插入或刪除元素的通用方法,不同于concat()和slice()方法,splice()會(huì)修改調(diào)用的數(shù)組。
例6:
var a=[1,2,3,4,5,6,7,8]; a.splice(4);//返回[5,6,7,8],a數(shù)組變成了[1,2,3,4] a.splice(1,2);//返回[2,3],a數(shù)組變成了[1,4] a.splice(1,1);//返回了[4],a數(shù)組變成了[1]
注:splice()的第一個(gè)參數(shù)指定了插入的起始位置,第二個(gè)參數(shù)指定了應(yīng)該從數(shù)組中插入或刪除的元素的個(gè)數(shù)
splice()返回一個(gè)由刪除元素組成的數(shù)組。
(7)push()和pop()方法
push()和pop()方法允許數(shù)組當(dāng)做棧來(lái)使用,push()表示在數(shù)組的尾部添加一個(gè)或者多個(gè)元素,pop()方法則相反。
(8)shift()和unshift()方法
shift()和unshift()方法,非常類(lèi)似于push()和pop()方法,不同的是前者是在數(shù)組的頭部而非尾部進(jìn)行插入和刪除操作。
(9)sort()方法
sort()方法使數(shù)組中的元素按照一定的順序排列。
例9:
var x=[1,2,13,113],alert(x.sort()) //默認(rèn)排序規(guī)則為按字母表排序,因?yàn)檩敵?1,113,13,2
如果要使得數(shù)組從小到大排序,則為
x.sort(function(a,b){return a-b});
ES5新增的方法
ES5中的數(shù)組方法,首先大部分的方法第一個(gè)參數(shù)接收一個(gè)函數(shù),并且對(duì)于數(shù)組的每個(gè)元素調(diào)用一次該函數(shù),函數(shù)中的參數(shù)為第一個(gè)參數(shù)為數(shù)組元素,第二個(gè)參數(shù)為元素的索引,第三個(gè)參數(shù)為數(shù)組本身
(10)foreach()方法
從頭到尾遍歷數(shù)組,為每個(gè)數(shù)組調(diào)用指定的函數(shù)
例10:
var x=[1,2,3,4,5]; alert(x.foreach(function(x,i,a){ a[i]=x*x})) //返回[1,4,9,16,25]
ES5中還有類(lèi)似map,filter等方法不一一討論
3.數(shù)組對(duì)象和字符串對(duì)象方法的互用
我們學(xué)過(guò)了call和apply函數(shù)就能實(shí)現(xiàn)字符串方法和數(shù)組對(duì)象方法的互用
比如:我們想在字符串對(duì)象中使用數(shù)組對(duì)象的方法,可以這樣實(shí)現(xiàn):
例:
var x="Hello World"; var y=Array.prototype.slice.call(x);
通過(guò)call方法,將x字符串對(duì)象轉(zhuǎn)為了y數(shù)組對(duì)象!?。⊥硪部梢詫?shù)組對(duì)象轉(zhuǎn)化為字符串對(duì)象,
就不在累贅舉例了!~
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動(dòng)畫(huà)特效與技巧匯總》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
javascript 獲取網(wǎng)頁(yè)參數(shù)系統(tǒng)
用處比較多,適合在當(dāng)前網(wǎng)頁(yè)打開(kāi)別的網(wǎng)站的內(nèi)容2008-07-07JavaScript+html實(shí)現(xiàn)前端頁(yè)面隨機(jī)二維碼驗(yàn)證
這篇文章主要為大家詳細(xì)介紹了JavaScript+html實(shí)現(xiàn)前端頁(yè)面隨機(jī)二維碼驗(yàn)證,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06JavaScript設(shè)計(jì)模式之職責(zé)鏈模式詳解
職責(zé)鏈模式的定義是:使多個(gè)對(duì)象都有機(jī)會(huì)處理請(qǐng)求,從而避免請(qǐng)求的發(fā)送者和接收者之間的耦合關(guān)系,將這些對(duì)象連成一條鏈,并沿著這條鏈傳遞該請(qǐng)求,直到有一個(gè)對(duì)象處理它為止2022-08-08js實(shí)現(xiàn)跟隨鼠標(biāo)移動(dòng)的小球
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)跟隨鼠標(biāo)移動(dòng)的小球,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08深入理解typescript中的infer關(guān)鍵字的使用
infer 這個(gè)關(guān)鍵字,整理記錄一下,避免后面忘記了。具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06js判斷鼠標(biāo)左、中、右鍵哪個(gè)被點(diǎn)擊的方法
這篇文章主要介紹了js判斷鼠標(biāo)左、中、右鍵哪個(gè)被點(diǎn)擊的方法,主要通過(guò)event.button事件來(lái)判斷鼠標(biāo)點(diǎn)擊的類(lèi)型,需要的朋友可以參考下2015-01-01JavaScript算法學(xué)習(xí)之冒泡排序和選擇排序
這篇文章主要給大家介紹了關(guān)于JavaScript算法學(xué)習(xí)之冒泡排序和選擇排序的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用JavaScript具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11