0
我通過push()
按時間順序編寫我的數據,但我需要通過REST API讀取它,它將數據作爲obj而不是數組返回。這是一個問題,因爲JS不支持有序的字典。如何通過REST API讀取Firebase訂購的數據?
解決這個問題的最好方法是什麼?
我通過push()
按時間順序編寫我的數據,但我需要通過REST API讀取它,它將數據作爲obj而不是數組返回。這是一個問題,因爲JS不支持有序的字典。如何通過REST API讀取Firebase訂購的數據?
解決這個問題的最好方法是什麼?
使用push()時Firebase不存儲陣列()12。相反,它會創建一個唯一的基於時間的ID並將該值存儲在使用該ID的對象中。他們是這個樣子:
有很多的爲什麼選擇這種方法的原因,爲什麼這是一個壞主意,利用在實時數據存儲1陣列。
一個精密是所有現代瀏覽器正確排序的對象在任何情況下,不包括鉻123的高度爭議的數字排序。
鑑於這些事實,而事實上,火力地堡的推IDS是字符串類型的字典順序中,REST API將在它們被推相同的順序返回記錄,當他們出現在鍛造,其中快速curl
測試將確認。
唯一可能會遇到麻煩的地方就是使用數字標識符,這可能會在Chrome中自然導致一些問題。當然,通過在每個ID上加上一個「0」或一個字符串前綴,可以很容易地解決這些問題,從而迫使Chrome按照字典順序對它們進行排序。1。
var a = {"foo":"bar", "03": "3", "02":"2", "01":"1"};
for(var i in a) { print(i) };
produces following output as expected:
foo
3
2
1