由於DOM操作代價高昂,React如何實現其渲染性能?React渲染機制如何工作並避免緩慢的DOM操作?
-2
A
回答
0
通過使用arr.length = 0
,可以使用for...in
循環和空數組循環對象屬性。您也可以使用Array.isArray()
來首先檢查值是否爲數組。
var myobj = {
location : [ 'item1', 'item2', 'item3' ],
job : [ 'job1', 'job2', 'job3' ],
other : [ 'other1', 'other2', 'other3' ]
}
for(var key in myobj) {
if(Array.isArray(myobj[key])) myobj[key].length = 0;
}
console.log(myobj)
或者你可以使用Object.keys()
和forEach()
環代替。
var myobj = {
location : [ 'item1', 'item2', 'item3' ],
job : [ 'job1', 'job2', 'job3' ],
other : [ 'other1', 'other2', 'other3' ]
}
Object.keys(myobj).forEach(key => myobj[key].length = 0)
console.log(myobj)
+0
@George Katsanos當然。 –
0
myobj = {
location: ['item1', 'item2', 'item3'],
job: ['job1', 'job2', 'job3'],
other: ['other1', 'other2', 'other3']
}
var getAllKeys = Object.keys(myobj);
getAllKeys.forEach(function(item) {
myobj[item].length = 0;
})
console.log(myobj)
0
myobj = {
location : [ item1, item2, item3 ],
job : [ job1, job2, job3 ],
other : [ other1, other2, other3 ]
}
for(var key in myobj){
myobj[key] = [];
}
相關問題
- 1. 如何從助手調用動作並避免渲染?
- 2. React通過setState重新渲染還是直接DOM操作?
- 3. ember.js路由渲染:用setTimeout()操作dom?
- 4. 如何避免服務器渲染React中的某些組件?
- 5. 如何避免重複渲染jsrender中的DOM元素
- 6. 用戶控制渲染如何工作?
- 7. 如何避免渲染到下一頁
- 8. React和jQuery DOM操作
- 9. BackboneJS避免重新渲染
- 10. Redmine緩慢查看渲染
- 11. AS3 3D渲染緩慢
- 12. 哪個Dom操作更慢?
- 13. React JS:避免組件渲染時執行的模態
- 14. React服務器端渲染狀態如何工作?
- 15. Javascript |如何避免Date.now()操作
- 16. 的Rails避免緩慢控制器阻止工人
- 17. Java PDF操作和渲染
- 18. 如何用drawImage繪製字母(以避免緩慢的strokeText/fillText)?
- 19. 工作,避免鎖
- 20. 漸進渲染是如何工作的?
- 21. 大型SVG渲染過程中的DOM操作
- 22. DOM操作不工作
- 23. UIWebview工作緩慢
- 24. Windbg工作如此緩慢?
- 25. 如何避免兩個控制器操作之間的AmbiguousMatchException?
- 26. 渲染控制器,不工作Ajax;
- 27. Chrome中的DOM操作緩慢(隱藏/顯示元素)
- 28. 你如何推遲渲染工作?
- 29. libGDX渲染方法如何工作?
- 30. 渲染後在哪裏編寫dom操作? Reactjs
是jQuery的一個選擇嗎? – Sandman
我很困惑高級前端開發人員會在哪裏陷入困境。是找到對象中的所有鍵嗎?還是將鍵的值設置爲空數組? – 2017-05-29 17:18:11