JavaScript Array對象 知識點總結

來源:互聯網
上載者:User

標籤:

1 isArray方法

該方法是Array對象的靜態方法,用來判斷一個值是否為數組,它可以彌補typeof運算子的不足。

用法是Array.isArray(array執行個體)

通用的判斷對象資料類型的方法是Object.prototype.toString.call(obj) === "[object type]",

比如 Object.prototype.toString.call([1,2,3]) === "[object Array]"

2 Arry執行個體的方法

toString:把數群組轉換為字串,並返回結果。

var arr = [1,2,3];arr.toString()//"1,2,3"

上面可以看出一個小技巧:通過toString方法可以直接將數組分割為逗號連結的字串,結果跟arr.join()差不多。

 

push:向數組的末尾添加一個或更多元素,並返回新的長度。

var arr = [1,2,3];arr.push.apply(arr, [4,5]);//[1,2,3,4,5]
// arr.push.call(arr, [6,7])的結果呢?[1,2,3,4,5,[6,7]]

你知道為什麼上面的結果是[1,2,3,4,5]嗎?因為Function.prototype.apply方法的第二個參數是個數組或者類數組,我現在傳的是個數組,apply方法會認為我要傳二個參數,相當於是執行arr.push(4,5).

 

join:把數組的所有元素放入一個字串。元素通過指定的分隔字元進行分隔。

大家知道通過call或者apply方法可以調用別的對象(比如Array)的方法,那麼字串對象也可以調用Array的join方法,看下面:

var s = "mengxiang";[].join.call(s, "-") //"m-e-n-g-x-i-a-n-g"

concat:串連兩個或更多的數組,並返回結果。

注意事項:當數組中包含對象時,新的數組中包含的是對象的引用,很多人稱之為淺拷貝。

var o = {a:1};var oldArray = [o];var newArray = oldArray.concat();//[{a:1}]o.a = 2;newArray; //[{a:2}]

從上面的例子可以看到,當修改對象的成員的值時,newArray的值也隨之改變了,可以驗證我們的結論。

 

slice:從某個已有的數組返回選定的元素,組成新的數組返回,不修改原數組

小技巧:將類數組轉化為數組,[].slice.call(arguments);

 

sort:對數組的元素進行排序,預設是按照字典順序排序

arrs = [101,1001,10001,111]arrs.sort()//[10001, 1001, 101, 111]

sort支援函數作為第一個參數,該函數本身又接受兩個參數,表示進行比較的兩個元素。如果傳回值大於0,表示第一個元素排在第二個元素後面;其他情況下,都是第一個元素排在第二個元素前面。

 

JavaScript Array對象 知識點總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.