2015-09-22 15 views
1

我正在研究一種存儲臨時數據的方法(它將在使用幾分鐘後通過ajax存儲在數據庫中)。我選擇的方法是創建一個巨大的數組,其中包含數組,然後使用函數來隔離所需的數據。替代大型數組的更好的做法(javascript)

代碼可在這裏:https://jsfiddle.net/44bjgykq/5/

var property_data = [[5,[[8,[1,3,3,7],[[4,2],[7,3],[1,4]]],[6,[5,5,5,5],[[2,3],[6,4],[3,2]]]]],[5,[[5,[1,1,1,1],[[1,1],[1,1],[1,1]]],[7,[1,1,1,1],[[1,1],[1,1],[1,1]]]]]]; 

我覺得這可能不是最有效的/最佳實踐的方式來存儲數據,但我可能是錯的。有什麼更好的選擇?

回答

1

如果您正在尋找絕對最小的佔地面積,那麼這很好,儘管很難閱讀和理解。

更常見的方法是將其存儲爲更友好的格式,如javascript對象。例如:

var property = { 
    propertyId: 5, 
    rooms: [{ 
     roomId: 8 
    },{ 
     roomId: 9 
    }] 
} 

JS小提琴:https://jsfiddle.net/ncocsr4y/

+0

這看起來像是比我的更好的解決方案!考慮到每個功能所需的代碼量,他們可能會用類似的腳印來鍛鍊。感謝您的建議,我不知道我如何在沒有使用對象的情況下走了這麼久。 – user3529649

0

我肯定會使用某種JSON嵌套字典,而不是數組中的數組。這需要更多的空間來傳輸和保存在數據庫中,但是對於自己和開發項目的其他開發人員來說,這將更加明確。

+0

我試圖保持它,我保存所有JS裏面之前,我有JSON的一個非常有限的知識。我肯定會研究這個,但感謝您的建議! – user3529649

+0

您可以使用像Matt Whetton的答案中的結構,然後使用'json_string = JSON.stringify(property)'將其轉換爲JSON字符串和'property = JSON.parse(json_string)'將其轉換回JavaScript對象。 –

相關問題