JavaScript對象中的方法

默認狀況下,數組字符串都會以逗號隔開。若是使用join()方法,則可使用不一樣的分
隔符來構建這個字符串。
 前端

  
  
           
  
  
  1. var box = ['李炎恢', 28, '計算機編程']; 
  2. alert(box.join('|')); //李炎恢|28|計算機編程 

棧方法
ECMAScript 數組提供了一種讓數組的行爲相似於其餘數據結構的方法。也就是說,可
以讓數組像棧同樣,能夠限制插入和刪除項的數據結構。棧是一種數據結構(後進先出),也
就是說最新添加的元素最先被移除。而棧中元素的插入(或叫推入)和移除(或叫彈出),只發
生在一個位置——棧的頂部。ECMAScript 爲數組專門提供了push()和pop()方法。算法

 

push()方法能夠接收任意數量的參數,把它們逐個添加到數組的末尾,並返回修改後數
組的長度。而pop()方法則從數組末尾移除最後一個元素,減小數組的length 值,而後返回
移除的元素。編程

 

  
  
           
  
  
  1. var box = ['李炎恢', 28, '計算機編程']; //字面量聲明 
  2. alert(box.push('鹽城')); //數組末尾添加一個元素,而且返回長度 
  3. alert(box); //查看數組 
  4. box.pop(); //移除數組末尾元素,並返回移除的元素 
  5. alert(box); //查看元素 

隊列方法
棧方法是後進先出,而列隊方法就是先進先出。列隊在數組的末端添加元素,從數組的
前端移除元素。經過push()向數組末端添加一個元素,而後經過shift()方法從數組前端移除
一個元素。數組

 

 

  
  
           
  
  
  1. var box = ['李炎恢', 28, '計算機編程']; //字面量聲明 
  2. alert(box.push('鹽城')); //數組末尾添加一個元素,而且返回長度 
  3. alert(box); //查看數組 
  4. alert(box.shift()); //移除數組開頭元素,並返回移除的元素 
  5. alert(box); //查看數組 

ECMAScript 還爲數組提供了一個unshift()方法,它和shift()方法的功能徹底相反。
unshift()方法爲數組的前端添加一個元素。瀏覽器

 

  
  
           
  
  
  1. var box = ['李炎恢', 28, '計算機編程']; //字面量聲明 
  2. alert(box.unshift('鹽城','江蘇')); //數組開頭添加兩個元素 
  3. alert(box); //查看數組 
  4. alert(box.pop()); //移除數組末尾元素,並返回移除的元素 
  5. alert(box); //查看數組 

PS:IE 瀏覽器對unshift()方法老是返回undefined 而不是數組的新長度。數據結構


重排序方法
數組中已經存在兩個能夠直接用來排序的方法:reverse()和sort()。
reverse() 逆向排序ide

 

  
  
           
  
  
  1. var box = [1,2,3,4,5]; //數組 
  2. alert(box.reverse()); //逆向排序方法,返回排序後的數組 
  3. alert(box); //源數組也被逆向排序了,說明是引用 

sort() 從小到大排序函數

 

  
  
           
  
  
  1. var box = [4,1,7,3,9,2]; //數組 
  2. alert(box.sort()); //從小到大排序,返回排序後的數組 
  3. alert(box); //源數組也被從小到大排序了 

sort 方法的默認排序在數字排序上有些問題,由於數字排序和數字字符串排序的算法是
同樣的。咱們必須修改這一特徵,修改的方式,就是給sort(參數)方法傳遞一個函數參數。
這點能夠參考手冊說明。spa

 

  
  
           
  
  
  1. function compare(value1, value2) { //數字排序的函數參數 
  2.     if (value1 < value2) { //小於,返回負數 
  3.         return -1; 
  4.     } else if (value1 > value2) { //大於,返回正數 
  5.         return 1; 
  6.     } else { //其餘,返回0 
  7.        return 0; 
  8. var box = [0,1,5,10,15]; //驗證數字字符串,和數字的區別 
  9. alert(box.sort(compare)); //傳參 

PS:若是要反向操做,即從大到小排序,正負顛倒便可。固然,若是要逆序用reverse()
更加方便。blog

操做方法
ECMAScript 爲操做已經包含在數組中的元素提供了不少方法。concat()方法能夠基於當
前數組建立一個新數組。slice()方法能夠基於當前數組獲取指定區域元素並建立一個新數組。
splice()主要用途是向數組的中部插入元素。

 

  
  
           
  
  
  1. var box = ['李炎恢', 28, '鹽城']; //當前數組 
  2. var box2 = box.concat('計算機編程'); //建立新數組,並添加新元素 
  3. alert(box2); //輸出新數組 
  4. alert(box); //當前數組沒有任何變化 
  5. var box = ['李炎恢', 28, '鹽城']; //當前數組 
  6. var box2 = box.slice(1); //box.slice(1,3),2-4 之間的元素 
  7. alert(box2); //28,鹽城 
  8. alert(box); //當前數組 

splice 中的刪除功能:

 

  
  
           
  
  
  1. var box = ['李炎恢', 28, '鹽城']; //當前數組 
  2. var box2 = box.splice(0,2); //截取前兩個元素 
  3. alert(box2); //返回截取的元素 
  4. alert(box); //當前數組被截取的元素被刪除 

splice 中的插入功能:

 

  
  
           
  
  
  1. var box = ['李炎恢', 28, '鹽城']; //當前數組 
  2. var box2 = box.splice(1,0,'計算機編程','江蘇'); //沒有截取,但插入了兩條 
  3. alert(box2); //在第2 個位置插入兩條 
  4. alert(box); //輸出 

splice 中的替換功能:

 

  
  
           
  
  
  1. var box = ['李炎恢', 28, '鹽城']; //當前數組 
  2. var box2 = box.splice(1,1,100); //截取了第2 條,替換成100 
  3. alert(box2); //輸出截取的28 
  4. alert(box); //輸出數組
相關文章
相關標籤/搜索