2014-10-31 49 views
-2

我正在使用Facebook Graph API並面對兩種數組。 有人可以告訴我他們之間有什麼不同嗎?如何使用JavaScript計算data2.length?

<script type="text/javascript"> 
    var data1 = ["apple", "orange", "coconut"]; 
    var data2 = {"apple", "orange", "coconut"}; 
</script> 

什麼是[]json{}之間有什麼不同? 爲什麼data2.length不起作用? 如何計算data2.length與JavaScript?

似乎偏離主題,但我需要知道計數data2的長度。無論如何?

+0

不同的是,第一種陣列的存在,而第二個沒有。第二個正確的語法是'{foo:'bar',baz:42}'。你得到的東西被解釋爲別的東西,而不是任何數組。 – deceze 2014-10-31 07:32:28

+0

編輯這個問題.. 現在好嗎? – 2014-10-31 16:03:15

回答

1
  1. 當我們聲明var[]時,它是一個元素數組。它可以是單個元素或對象數組。 data1是一個簡單元素的數組(如你的情況,一個字符串數組)。這就是爲什麼你可以成功獲得data1的長度。
  2. 當你聲明一個變量爲{}這意味着你正在聲明一個對象而不是一個數組。
0

[]是一個數組,{}是一個對象,所以基本上在第一種情況下,您將有data1 [0] = apple,data1 [1] = orange等,在第二種情況下,您將獲得data2.apple = undefined,data2.orange = undefined等。

3

在JSON []中表示一個對象數組,而{}表示一組對象。 因此[{}]將表示一組對象的數組。

您可以參考http://www.json.org/更多信息

1

簡短的回答:{}用於對象的符號,而[]用於數組。
我建議你在使用外部API之前先掌握javascript的基礎知識。 :)

+0

是的,我在跟着......! 如果我是JavaScript的碩士,我不需要問。 :-D 你解釋得很好。 謝謝。 – 2014-10-31 16:11:39