2011-09-07 90 views
0

我有一個非常大的44,000+對象在JavaScript文件中的數組。Javascript大型二維數組對象

我的問題是編輯文件是絕對可怕的(特別是如果我必須移動數組中的每個對象1值)。

我試過了一個csv文件,但我無法將文本作爲我的對象。我已經考慮過XML和JSON,但是我沒有看到它解決了我的編輯問題。

我希望有一個JavaScript編輯器能夠像處理表一樣處理二維數組,或者基本上任何會創建對象數組並允許我編輯類似於表的任何東西。

謝謝

+4

爲什麼你使用JavaScript文件作爲數據庫?您的問題可能是文件對於大多數文本編輯器來說太大了。您應該考慮更有效的數據存儲方式。聽起來像編輯/維護的噩夢。 –

+0

你是什麼意思「像一張桌子」?你是說你在管理你的源代碼時遇到了麻煩,並且想要一個電子表格(或Word表格),就像源代碼的佈局一樣,這樣你就可以輕鬆地編輯單個對象,並且還可以執行諸如刪除特定對象之類的操作下面的那個在陣列中向上移動(或者所有的向左移動)? – nnnnnn

+0

@克里斯 相信我,這是編輯/維護的噩夢。我在學期間做了一個有趣的項目,我的學校爲我提供了一些資金來做一些事情。這個問題,作爲一年級學生,我沒有計劃可擴展性。 @nnnnnnn 基本上像一個Excel表。易於在水平和垂直方向上移動數值等 – Sraaz

回答

1

好的,首先:什麼是什麼?硬編碼在您的源文件中的44,000個對象?無論如何,你爲什麼還要有44,000個物體,你不能以某種方式生成它們?

反正...

假設我正確理解你的要求,我的建議,以解決您的編輯的問題,但仍然會產生一個標準的JS腳本文件是使用Excel電子表格做你的編輯,保存你的源數據標準Excel格式,並按下按鈕編寫Excel宏(VBA)以產生所需的JS文件輸出,有點像在IDE中按下編譯按鈕。認真。這聽起來像你想要一個漂亮的可視化編輯器,可以在你的數組中移動東西,在刪除時移動單元格,所有類型的東西,Excel是在。您需要從電子表格中獲取數據並將其作爲具有有效JavaScript數組聲明的JS文件輸出的VBA宏是微不足道的,不超過20或30行代碼,基本上是一個簡單的嵌套for循環應該做的它與一些初始化打開文件的寫作等

銘記JavaScript沒有多維數組我假設你想要一個數組數組,其中每個子數組是相同的長度和包含對象,和在所需的輸出 JS文件是這樣的(除了要大得多):

var myObjectArray = [ 
    [ {id:1}, {id:2}, {id:3}, {id:4} ], 
    [ {id:5}, {id:6}, {id:7}, {id:8} ], 
    [ {id:9}, {id:10},{id:11},{id:12} ], 
    [ {id:13},{id:14},{id:15},{id:16} ] 
]; 

這很容易產生類似的東西從Excel。

+0

毫無疑問,我相信有更多的方法可以解決這個問題。這已經是相當學習的經驗。這只是我的學校收到的一個小項目,比我想象的更大。我一定會看看VBA和excel。我並不是真的想訴諸於此,因爲我的研究還沒有做過類似的事情,但我想這將是一件好事。不應該太困難。謝謝。 – Sraaz

+0

自從我上次寫Excel VBA以來一直很年輕,但我已經完成了導出和導入類型的事情,我可以向你保證它很容易。 Excel有自己的DOM概念,所以你只需要在Worksheets [「myworksheet」]。Cells(x,y).Value'中進行嵌套循環。我相信你會弄明白的。如果您等待,您可能會得到更好的答案,但無論哪種方式,都要確保回來並接受_some_答案。 – nnnnnn