本文實例總結了javascript中數組(Array)對象和字符串(String)對象的常用方法。分享給大家供大家參考,具體如下:
綜述:筆者經常將數組的方法和字符串的方法混淆,這裡寫篇日志,做個區分
1.字符串對象
String是JavaScript中的五種基本類型之一。
(1)字符串對象的創建
例1:
var str="Hello world";
或者
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程序設計有所幫助。