本文執行個體總結了javascript中數組(Array)對象和字串(String)對象的常用方法。分享給大家供大家參考,具體如下:
綜述:筆者經常將數組的方法和字串的方法混淆,這裡寫篇日誌,做個區分
1.字串對象
String是JavaScript中的五種基本類型之一。
(1)字串對象的建立
例1:
或者
var str=new String("Hello world")
(2)charAt()方法
charAt()方法用於返回指定位置的字串,比如我們想返回str字串中,第二個字元,則可以寫成charAt(1),因為字串的下標也是從0開始,因此我們返回了第二個字元e;
例2:
var str="Hello world"; alert(str.charAt(1))//輸出e
(3)indexOf(注意O要大寫)
indexOf()方法,可返回某個指定的字串值在字串中首次出現的位置。
例3:
var str="Hello world";alert(str.indexOf('e'))//輸出1
indexOf()方法還可以有第二個參數規定字串開始檢索的位置
(4)split()方法
split()方法,可以按規則分割字串。比如:
例4:
var x="86-029-19201920";alert(x.split(-))//輸出 86 029 19201920
split()方法還可以有第二個參數,表示分割的次數,如果省略,預設分割次數不限
(5)substring()方法
substring()方法,可以提取字串,改方法有兩個參數,第一個參數表示起始位置,第二個參數表示終止位置,如果省略第二個參數,預設提取到字串的結尾。
例5:
var x="Hello world";alert(x.substring(0,4));//輸出Hello
(6)substr()方法
substr()方法,也可以用於提取字串,不同的是該方法的兩個參數,第一個參數表示起始位置,第二個參數表示提出字串的個數。
例6:
var x="Hello world";alert(x.substr(0,5));//同樣輸出Hello
2.數組對象(Array)
(1)數組對象的建立
例1:
var arr=new Array(10) ;var arr=[1,2,3];var arr=new Array(1,2,3);var arr=[];
數組建立的方法一般有這麼幾種,其中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() 方法用於串連兩個或多個數組。此方法返回一個新數組,不改變原來的數組。
(3)join()方法
例3:
var x=[1,2,3]; alert(x.join("-"));//輸出的位1-2-3
join()方法用於把數組中的所有元素放入一個字串。元素是通過指定的分隔字元進行分隔的。
(4)reverse()方法
數組反轉,不會產生新的數組
例4:
var x=[1,2,3];alert(x.reverse());//輸出的位3,2,1
(5)slice()方法
slice() 方法可從已有的數組中返回選定的元素。slice方法也有2個參數,第一個參數表示開始位置,第二個參數表示結束位置。
(6)splice()方法
splice()方法用於在數組中插入或刪除元素的通用方法,不同於concat()和slice()方法,splice()會修改調用的數組。
例6:
var a=[1,2,3,4,5,6,7,8];a.splice(4);//返回[5,6,7,8],a數組變成了[1,2,3,4]a.splice(1,2);//返回[2,3],a數組變成了[1,4]a.splice(1,1);//返回了[4],a數組變成了[1]
註:splice()的第一個參數指定了插入的起始位置,第二個參數指定了應該從數組中插入或刪除的元素的個數
splice()返回一個由刪除元素組成的數組。
(7)push()和pop()方法
push()和pop()方法允許數組當做棧來使用,push()表示在數組的尾部添加一個或者多個元素,pop()方法則相反。
(8)shift()和unshift()方法
shift()和unshift()方法,非常類似於push()和pop()方法,不同的是前者是在數組的頭部而非尾部進行插入和刪除操作。
(9)sort()方法
sort()方法使數組中的元素按照一定的順序排列。
例9:
var x=[1,2,13,113],alert(x.sort())//預設定序為按字母表排序,因為輸出 1,113,13,2
如果要使得數組從小到大排序,則為
x.sort(function(a,b){return a-b});
ES5新增的方法
ES5中的數組方法,首先大部分的方法第一個參數接收一個函數,並且對於數組的每個元素調用一次該函數,函數中的參數為第一個參數為數組元素,第二個參數為元素的索引,第三個參數為數組本身
(10)foreach()方法
從頭到尾遍曆數組,為每個數組調用指定的函數
例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.數組對象和字串對象方法的互用
我們學過了call和apply函數就能實現字串方法和數組對象方法的互用
比如:我們想在字串對象中使用數組對象的方法,可以這樣實現:
例:
var x="Hello World";var y=Array.prototype.slice.call(x);
通過call方法,將x字串對象轉為了y數組對象!!!同理也可以將數組對象轉化為字串對象,
就不在累贅舉例了!~
更多關於JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript數組操作技巧總結》、《JavaScript遍曆演算法與技巧總結》、《JavaScript數學運算用法總結》、《JavaScript資料結構與演算法技巧總結》、《JavaScript切換特效與技巧總結》、《JavaScript尋找演算法技巧總結》、《JavaScript動畫特效與技巧匯總》及《JavaScript錯誤與調試技巧總結》
希望本文所述對大家JavaScript程式設計有所協助。