2013-12-13 33 views
0

我經常遇到將此問題留在腦海的問題,而且我無法快速將其解決。這就是爲什麼我在這裏提出這個問題。javascript:更改數組應用到的數組的方法列表

每次我打電話像concatsortslice的方法,我在問自己:它創建並返回一個新的數組,或者只是修改並返回數組其應用於?

問題:你能列出改變原始數組的方法vs構造並返回一個新數組的方法嗎?

poppush這樣的方法不在遊戲中,很明顯他們做了什麼。

+2

MDN列出了在[Mutator]下分組的[Array]方法(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array#Mutator_methods),[Accessor](https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array#Accessor_methods)和[Iteration](https://developer.mozilla.org/en-US/docs/Web/的JavaScript /參考/ Global_Objects /陣列#Iteration_methods)。 –

+0

此外,這可能是[哪些JavaScript陣列函數發生了變化?](http://stackoverflow.com/q/9009879)的重複。 –

回答

3

的在不改變所述陣列中的值的值或數量陣列實例的方法的完整列表是這樣的一種:

  • Array.prototype.push
  • Array.prototype.pop
  • Array.prototype.shift
  • Array.prototype.unshift
  • Array.prototype.splice
  • Array.prototype.reverse
  • Array.prototype.sort

的方法,另外,改變length屬性可以從數組中刪除的元素(如果減小它)或添加未定義項陣列(如果增加的話)。

最後,改變所述陣列的特性與那些正整數狀串狀'0''1''3000'等將在這些索引改變的值,並可能增加陣列的長度的密鑰。

+1

你忘記排序... – kennebec

+0

@kennebec謝謝!現在修復它。 – Tibos