我有一個遞回函式,它按順序執行以下操作(除其他外):
- 列印作為引數傳遞的陣列 A
- 將一些新值連接到其中: A=A.concat(localList);
- 再次列印陣列 A
- 運行一個 for 回圈,其每次迭代都會再次呼叫該函式
雖然列印三明治顯示正確的連接,但我注意到不同(并行?)實體不知道其他人所做的更改。陣列不是作為參考傳遞的嗎?
我包含的資訊很少,因為我覺得這是我缺少的一些基本事實。
uj5u.com熱心網友回復:
Array.concat 回傳一個新實體。為了保持參考完整,您可以像這樣連接串列:
yourarray.push.apply(yourarray, newitems)
或更現代的變體:
yourarray.push(...newitems)
需要明確的是,如果您使用多個執行緒(Workers),這仍然不起作用,因為在 Workers 之間傳遞的物件是克隆的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/413817.html
標籤:
下一篇:將位元組轉換為負整數?
