要我Immutable.js減少很多麻煩,這是一個偉大的圖書館,但我現在有麻煩了面對,我原來的對象來自服務器,但是當我用到它的功能,如fromJS({myObj})
它的工作原理,但保存副本,但排序「az」,我做了一些需要原始結構的東西,以保持組件的順序來自服務器,有人任何想法?避免使用排序immutable.js
1
A
回答
0
Javascript核心對象明確沒有提供有關按鍵順序的保證。 Immutable.Map
(您的fromJS()
調用的預期結果)就是這樣。
如果您想要訂購,您應該將訂單指定爲每個項目的另一個屬性,或者更常規地從Array
創建一個Immutable.List
。
換句話說,這聽起來像一個方形掛鉤/圓孔問題。確保你的任務使用了正確的數據結構。
2
fromJS
默認情況下將您的對象轉換爲lists
和maps
。前者是有序的,但沒有鍵控,而後者是鍵控的,但沒有命令,所以都不適合你的用例。
什麼你要找的是一個OrderedMap
,這是一個Map
有額外的插入順序保證:
import { OrderedMap } from 'immutable';
const orderedMap = OrderedMap({key: "value"});
+0
你先生,是救命啊! –
相關問題
- 1. 避免使用NSSortDescriptor排序
- 2. 避免排序在NSDictionary
- 3. 的jQuery可排序:避免
- 4. 避免與INNER JOIN +排序
- 5. 避免除排序依據
- 6. MySQL的 - 避免文件排序
- 7. 避免在JSP頁面中排序
- 8. 在T-SQL中避免排序
- 9. as.numeric如何避免默認排序
- 10. 如何避免React組件中的Immutable.JS函數/訪問器
- 11. NSTableView:在排序表格列時避免使用藍色標題
- 12. 使用Python來表示合併排序,如何避免IndexError
- 13. 如何在使用複合索引時避免排序?
- 14. 如何通過使用臨時避免令,文件排序
- 15. 排序和分組的Immutable.js列表
- 16. 避免使用OOP
- 17. 避免使用javascript
- 18. 避免使用ServiceLocator
- 19. 避免使用Session.set
- 20. 避免使用C#
- 21. 如何避免使用XSD
- 22. 如何避免使用Object.assign?
- 23. 避免使用if子句
- 24. 避免使用Unicode 1.1(html)
- 25. 避免使用SET TRUSTWORTHY ON
- 26. 避免使用DTO類?
- 27. 避免同時使用XMPP
- 28. 如何避免使用ssh
- 29. JPQL - 避免使用加入
- 30. 如何避免使用Thread.Sleep
我嘗試使用Immutable.List我得到了相同的結果,反正感謝。 下面是一個例子 [鏈接](https://jsfiddle.net/normanfx/sdufb9ac/) – Norman
@Norman您的代碼接近。對象屬性不會保持其順序。如果你想要項目有一個訂單,你需要將它們存儲在'List'中:'var myOrderedObj = Immutable.fromJS({name:'thing',orderedProps:[{size:1},{weight:2}] })'。然而,這是一件很奇怪的事情。 –
:/好吧,我想我會用那個開始一些事情:)謝謝Trevor。 – Norman