JS數組常見方法的深淺拷貝分類


一、涉及淺拷貝類方法,會改變原數組

1,pop():   刪除 arrayObject 的最后一個元素,把數組長度減 1,並且返回它刪除的元素的值。如果數組已經為空,則 pop() 不 改變數組,並返回 undefined值。arrayObject.pop() *push():*push() 方法可把它的參數順序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是創建一個新的數組,arrayObject.push(newelement1,newelement2,….,newelementX) 

2,reverse():該方法會改變原來的數組,而不會創建新的數組。arrayObject.reverse() 。

3,shift():   數組的第一個元素從其中刪除,並返回第一個元素的值,如果數組是空的,那么 shift() 方法將不進行任何操作。

4,sort():   對數組的引用。請注意,數組在原數組上進行排序,不生成副本。arrayObject.sort(sortby) (如果調用該方法時沒有使用參數,將按字母順序對數組中的元素進行排序,說得更精確點,是按照字符編碼的順序進行排序。要實現這一點,首先應把數組的元素都轉換成字符串(如有必要),以便進行比較。 如果想按照其他標准進行排序,就需要提供比較函數,該函數要比較兩個值,然后返回一個用於說明這兩個值的相對順序的數字。比較函數應該具有兩個參數 a 和 b,其返回值如下: 

  若 a 小於 b,在排序后的數組中 a 應該出現在 b 之前,則返回一個小於 0 的值。 
  若 a 等於 b,則返回 0。 
  若 a 大於 b,則返回一個大於 0 的值。

5,*splice():  *splice() 方法可刪除從 index 處開始的零個或多個元素,並且用參數列表中聲明的一個或多個值來替換那些被刪除的元素。 如果從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的數組 arrayObject.splice(index,howmany,item1,…..,itemX) 

6,unshift():  unshift() 方法可向數組的開頭添加一個或更多元素,並返回新的長度。arrayObject.unshift(newelement1,newelement2,….,newelementX)返回arrayObject 的新長度

二、涉及深拷貝類方法,不改變原數組

1,concat():用於連接兩個或多個數組,僅會返回被連接數組的一個副本,arrayObject.concat(arrayX,arrayX,……,arrayX) 

2,jion():返回一個字符串。該字符串是通過把 arrayObject 的每個元素轉換為字符串,然后把這些字符串連接起來,arrayObject.join(separator) 

3,slice():如果數組是空的arrayObject.slice(start,end)

三、其它get類方法

1,*toSource()*toSource() 方法表示對象的源代碼。 該原始值由 Array 對象派生的所有對象繼承。 

2,toSource() 方法通常由 JavaScript 在后台自動調用,並不顯式地出現在代碼中。object.toSource() 

3,toString():  arrayObject 的字符串表示。返回值與沒有參數的 join() 方法返回的字符串相同arrayObject.toString() 

4,toLocaleString():  把數組轉換為本地字符串。arrayObject.toLocaleString() 

5,valueOf(): valueOf() 方法返回 Array 對象的原始值。 該原始值由 Array 對象派生的所有對象繼承。 arrayObject.valueOf()。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM