2012-07-10 68 views
0

我試圖將值存儲在JavaScript對象表示法中。我已經做了一些編程,並將所有事件存儲到以逗號分隔的字符串中,如果術語Im試圖查找是一個數組,我得到[object object]作爲回報,因爲它是一個數組。我想知道如何將該陣列中的所有項目存儲到以逗號分隔的變量中,例如,如果選擇「時間」,則應該返回Dec 9, 1, 2012列出陣列內的元素

Ive到達的零件返回值一個非數組,http://jsbin.com/obehog/3/edit

和數組的深度可能會改變,它不會在每種情況下相同。所以,如果你選擇「時間」要通過循環將不會工作。

回答

1

,結果是一個數組,如:

[[{ 
    "term": "Dec 9", 
    "Dec_9": [{ 
     "count": 1, 
     "term": "2012" 
    }] 
}]] 

,如果你想要一個像Dec 9, 1, 2012因此,您需要一種方法來解析對象的字符串(或字符串數​​組),代碼如下:

function valuesOfObj(obj, result) { 
    result = result || []; 
    if (typeof obj === 'object') { 
     for (var k in obj) { 
      if (obj.hasOwnProperty(k)) { 
       arguments.callee(obj[k], result); 
      } 
     } 
    } else { 
     result.push(obj); 
    } 
    return result; 
} 

console.log(valuesOfObj([{ 
    "term": "Dec 9", 
    "Dec_9": [{ 
     "count": 1, 
     "term": "2012" 
    }] 
}]).join(', ')); // -> Dec 9, 1, 2012 

full demo

順便問一下,你做的是出色的,還有一些其他的實現升ike jsonselectJSONQuery,希望對你有用。

+0

謝謝!!!!我真的很感謝你所做的幫助。Wil檢查它是否適用於我的實時輸入。 – user1371896 2012-07-10 09:10:54

+0

關於如何將其轉換爲良好格式的任何建議,以便我可以將它寫入一個excel文件,其中的關鍵值爲cming一次和每次對應的鍵值在它們下面.. – user1371896 2012-07-10 09:13:18

+0

還有一件事與這個問題有關,是否有可能只從Time數組中選擇相關內容,就像忽略「Count」字段一樣。 – user1371896 2012-07-10 09:22:00