2014-02-28 29 views
2

由於我需要選擇性能最佳的選項,因此我遇到了困境。使用數組,對象字面量或JSON的JavaScript更好的性能?

我現在就像是一個簡單的數組:

var array = [ 
    '/index1.html', 
    '/index2.html', 
    '/index3.html' 
]; 

這個數組將包含大約60選項僅但我需要通過語言我想到的其他選項,例如對象文本或JSON格式分離所以它將包含所有語言和大約1000個選項。

var obj = { 
      'en' : { 
       'title' : 'bla', 
       'url':'bla bla bla'     
      }, 
      'de' : { 
       'title' : 'bla', 
       'url':'bla bla bla'     
      },   
     }; 

問題是你認爲最好的表現是什麼? 謝謝。

+1

你可以在這裏查看:http://jsperf.com/ – Kenneth

+0

無論如何我會包含每種語言的一個文件。 – Alvaro

+0

爲什麼你一次只能加載1種語言? –

回答

3

對象文本和JSON是一回事(更正:看昆汀的評論)

如果你正在尋找一個值,那麼JSON能有更好的表現,因爲它是一個HashMap的實現,所以查找時間會爲O (1)。

JSON也更加靈活,因爲你可以在你的JSON有數組,你可以有一個名爲鍵等

這麼說,我就不會擔心性能提升這裏。它們可能可以忽略不計。


如果你想你的HTML頁面映射到一個語言,你可以存儲由語言縮寫(「恩」,「德」等),鍵入的JSON的URL或者你可以使用一個命名你的文件的公約(index-en.html,index-de.html)。這是你的選擇。

+4

JSON是一種數據格式,雖然受到很大影響, JavaScript的。它與對象文字不同。 – Quentin

+0

我認爲ktm的含義是,如果將文字和JSON粘貼到「var obj =」之後,文字和JSON都會產生相同的結果... – dandavis

+0

@Quentin只是好奇,JSON與JavaScript中使用的對象字面值有什麼不同? – Mathias

相關問題