回答
嗯,這似乎是問題不是我想的;我的錯誤是下面的行,這畢竟沒有帶了什麼都做數組:
sms.original = eval('(' + data + ')');
sms.messages = sms.original;
sms.original成爲一個對象,然後sms.messages變得sms.original(我只是希望他們有相同的價值)。這些對象包含一個名爲的項目這是保持靜態的sms.original對象,但是當我更改sms.messages時,原始對象也發生了變化。解決辦法很簡單:
sms.original = eval('(' + data + ')');
sms.messages = eval('(' + data + ')');
很抱歉打擾你,我應該已經制定,但該代碼在多個文件和功能splited。無論如何,謝謝你們,現在Guffa的拼接技術爲我工作。
要創建一個空數組賦值給變量,你可以使用Array構造函數:
array = new Array();
或者你可以使用一個空數組文本:
array = [];
如果你有幾個引用到一個陣列,以便您必須清空實際的陣列對象而不是替換參考,可以這樣做:
array.splice(0, array.length);
我不完全確定你要做什麼,但是有幾種方法可以重置數組。
您可以通過現有的陣列只是迭代,並設置每個指數等於空(或空字符串或0,或者你認爲什麼價值是一個復位):
for(var i = 0; i < arr.length; i++) {
arr[i] = null;
}
你也可以只更新現有對象的新實例引用:
arr = [];
這應該有效。
array1 = array2;
如果不是,請提供更多詳細信息。
我不認爲你需要明確指出array1 = null。如果你只是更新引用,垃圾收集器應該識別一個沒有引用指向它的實例。 – Tom 2009-10-12 16:54:42
不需要兩個任務;第二個就足夠了。 – 2009-10-12 16:55:15
是的,你是對的。 – 2009-10-12 16:55:54
清除數組
http://2ality.com/2012/12/clear-array.html
let myArray = [ 1, 2, 3, 4];
myArray = [];
myArray.length = 0;
- 1. mysql_fetch_assoc覆蓋陣列
- 2. 陣列被覆蓋
- 3. 避免覆蓋在陣列
- 4. 這條線覆蓋陣列
- 5. Ember js pushObject覆蓋陣列
- 6. 覆蓋陣列位置
- 7. 代碼覆蓋陣列
- 8. Symfony2 - 陣列被覆蓋
- 9. 陣列列表內部循環覆蓋
- 10. PHP - 的foreach創建陣列 - 被覆蓋
- 11. 如何防止在陣列中覆蓋
- 12. 好奇陣列覆蓋操作
- 13. 覆蓋陣列大小與在python
- 14. 腳本保持覆蓋陣列
- 15. 在原型繼承覆蓋陣列
- 16. 陣列被覆蓋的內容
- 17. 的getElementById()在Array()被覆蓋陣列
- 18. 覆蓋期望一個雙陣列
- 19. localStorage陣列在刷新後被覆蓋
- 20. Angularjs推式覆蓋範圍陣列
- 21. Javascript:對象被推入陣列覆蓋對方?
- 22. 覆蓋javascript css
- 23. Arrays.sort不填充陣列,並覆蓋已經陣列
- 24. jQuery插件選項陣列,防止陣列覆蓋
- 25. PHP陣列覆蓋值,但需要添加到陣列
- 26. 合併兩個陣列,用第二個陣列覆蓋第一個陣列
- 27. Javascript動畫覆蓋
- 28. JavaScript原型覆蓋
- 29. JavaScript文本覆蓋
- 30. 覆蓋onbeforeunload(JavaScript)的
請詳細說明。 – SLaks 2009-10-12 16:48:50
您能否爲我們提供一個代碼示例來了解爲什麼'array = new_array'代碼不起作用? – 2009-10-12 16:51:11