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