javaScript基礎——js語言精粹 第八章 數組方法

數組java

array.concat

concat 方法產生一個新數組,他包涵一份array的淺複製(shallow copy)並把一個或多個參數 item 附加在其後。若是參數 item 是一個數組,那麼他的每一個元素會被分別添加。
例子:
var a = ['a', 'b', 'c'];
var b = ['x', 'y', 'z'];
var c = a.concat(b, true);
c 變成 ['a', 'b', 'c', 'x', 'y', 'z', true]



array.join(separator)

join方法吧一個array構形成一個字符串,它先把array的每一個元素構形成一個字符串,接着用一個separator分隔符把他們連在一塊兒。默認的separator 是逗號','。
要想作到無間隔的鏈接,咱們可使用空字符串做爲separator。
例子:
var a = ['a' , 'b', 'c'];
a.push('d');
var c = a.join('');
c 變成 字符串 'abcd';


array.pop()

pop 和 push方法使得數組array能夠像堆棧stack同樣工做。pop 方法移除array中的最後一個元素並返回該元素。若是該array是empty,他就會返回undefined。
var a = ['a', 'b' , 'c'];
var c = a.pop();
a 變成 ["a", "b"]
c 變成 'c'


array.push(item...)

push方法把一個或多個參數 item附加到一個數組的尾部。和concat方法不一樣的是,它會修改array,若是參數是一個數組,他會把參數數組做爲單個元素 整個添加到數組中,並返回這個array的新長度值。
var a = ['a', 'b', 'c'];
var b = ['x', 'y', 'z'];
var c = a.push(b, true);
a 變成了 ["a", "b", "c", Array[3], true]
c 是 a 的length, c 是 5;


array.reverse()

reverse方法反轉array裏的元素的順序,並返回array自己;
var a = ['a', 'b', 'c'];
var b = a.reverse();
獲得的結果,b 和 a 都是 ["c", "b", "a"]


array.shift()

shift 方法移除數組array的第一個元素並返回該元素。若是這個array是空的,它會返回undefined,shift一般比pop慢得多。
var a = ['a', 'b', 'c'];
var c = a.shift();
a 變成了 ["b", "c"]
c 變成了 "a"

shift能夠這樣實現:
    Array.method('shift', function () {
        return this.splice(0, 1)[0];
    });


array.slice(start, end)
    slice方法對array中的一段作淺複製。首先複製array[start],一直複製到array[end]爲止。end 參數是可選的,默認值是該數組的長度array.length。若是兩個參數中的任何一個是負值,array.length會和他們相加,試圖讓他們變成非負數。若是start大於等於array.length,獲得的結果將是一個新的空數組。千萬別把slice 和 splice 弄混了。字符串也有一個同名的方法,string.slice
   
   
 array.sort(comparefn)
 sort方法對array的內容進行排序。他不蹦正確給一組數字排序:
 var n = [4, 8, 15, 16, 23, 42];
 javaScript的默認比較函數把被排序的元素視爲字符串,它還沒有足夠只能到在比較這些元素以前先檢測他們的類型,因此當它比較這些數字的時候,會把他們轉化爲字符串,因而會獲得錯誤的結果。
 經過comparefn比較函數,例如接受兩個參數a b,若是 a = b,就返回0;若是a應該在前面,就返回一個負數,若是b 在前面就返回一個正數。
 n.sort(function (a, b) {
     return a - b;
 });
 獲得[4, 8, 15, 16, 23, 42];
 
 
 array.splice(start, deleteCount, item...)
 
 splice方法從array中移除一個或多個元素,並用新的item替換他們。參數start是從數組array中移除元素的開始位置。參數deleteCount是要移除的元素個數。若是有額外的參數,那些item會插入到被移除元素的位置上,它返回一個包含被移除元素的數組。
 
 
 array.unshift(item...)
 shift 方法像 push 方法同樣,用於把元素添加到數組中,但它是把item插入到array的開始部分而不是尾部,它返回array的新的length:
 var a = ['a', 'b', 'c'];
 var r = a.unshift('?', '@');
 a 變成了 ["?", "@", "a", "b", "c"] 
 r 變成了 5
相關文章
相關標籤/搜索