2013-06-19 22 views
0

中的所有對象必須由的Flowplayer和可用通過JavaScript創建的變量。如果我直接將變量寫入頁面,它只是返回'object Object',所以我假設這是一個數組。如果我不知道數組內的任何對象的名稱,我怎樣才能解析出內部的數據?我如何返回JavaScript數組

我知道我失去了一些東西真正的基礎在這裏,但我不認爲我曾經得到從陣列中的數據不知道它包含什麼。

注:

  • 我所試圖做的就是嵌入式 的onCuePoint在字幕數據爲RTMP視頻流
  • .valueOf()返回同樣的事情
  • 這裏是我的代碼我使用返回 '對象對象':

streamCallbacks: ['onFI'],
clip:

{ 
    live:true,   
    provider: 'rtmp', 
    autoPlay: true, 
    url:'test1', 
    onFI:function(clip, info) 
    { 
     document.getElementById("onFI").innerHTML += "Data: " + info; 
    } 
} 

謝謝

回答

1

您需要通過您的數組進行迭代,並通過一個得到的結果之一,這取代你的ONFI功能:`VAR:

onFI:function(clip, info) 
{ 
    var data = ""; 

    // For each value in the array 
    for (var i = 0; i < info.length; i++) 
    { 
     // Add it to the data string (each record will be separated by a space) 
     data += info[i] + ' '; 
    } 

    document.getElementById("onFI").innerHTML += "Data: " + data; 
} 
+1

'數據=信息[I];'這不是PHP ... –

+0

右鍵我糾正它。 –

+1

最後一行只是在數據字符串的末尾添加一個空格(在元素之間沒有空格)。 –

2

如果你問的是你如何遍歷數組的內容,可以在普通的JavaScript這樣做是這樣的:

var arr = [1,2,3]; 

for (var i = 0; i < arr.length; i++) { 
    // arr[i] is each item of the array 
    console.log(arr[i]); 
} 

僅僅因爲一些是Object類型的不一定這意味着它是一個數組。它也可能只是一個具有各種屬性的普通對象。如果您在調試器或console.log(info)中查看info參數,則應該能夠看到它是什麼。

+0

如果信息變量不是一個數組,其內容可以顯示在STR = ''; for(var p in info){str + = p +'='+ info [p] +'
'; } document.getElementById(「onFI」)。innerHTML + =「Data:」+ str;'但更好的是用'console.log(info)'來查看,就像jfriend所說的那樣。 (Firefox Ctrl + Shift + k或Chrome Ctrl + j) – Stano

+0

謝謝!將另一個標記爲答案B/C,看起來他需要更多的代表點,但這也有幫助。 @Stano感謝您的加成是非常有益的 – BartFurglar