2012-02-08 25 views
2

這涉及到:How do I pass the value instead of the refererence of an array?複製對象數組的方式更快:切片還是克隆?

我需要發送值而不是引用數組。對於這個問題,我得到了2-3個有效答案。一個是使用切片,第二個(和第三個是類似的)是使用克隆或製作我自己的克隆功能。

從(非常)快速測試來看,切片似乎更快(在100,000個元素陣列上測試)。但我對此沒有任何解釋。

任何人都可以澄清,如果爲什麼切片更快?

回答

5

在回答提出的clone功能很一般(也挺可憐的,永遠,永遠,永遠枚舉屬性Object.prototype添加,並且有其他一些問題),並在JavaScript中實現。相反,slice答案使用JavaScript引擎的內置函數,該函數可以用高度優化的機器代碼編寫。 (當然沒有)。

+0

對我來說這似乎夠了。 – zozo 2012-02-08 09:42:52