2013-08-20 192 views
-1

我想弄清楚如何將字符串轉換爲對象。分隔符是|個字符。所以基本上這樣的:從JavaScript中創建對象字符串

var myString = "Name, Bob | Location, Washington | Pet, Dog"; 

變爲:提前

var myObj = { 
Name: "Bob", 
Location: "Washington", 
Pet: "Dog" 
}; 

感謝任何有益的輸入。

+1

沒有內置對於這一點,所以你必須自己編寫代碼。不應該太糟糕,只需要幾個字符串分割函數,並循環遍歷結果來構建新對象。 如果您在上述任何步驟中遇到特定問題,那麼您應該提出這些問題。 –

+0

如何?你能否詳細說明一下? – mwilson

+0

問題是什麼?首先在管道上分割以獲得「,」組合,然後在逗號分割得到「」和「」...並修剪值的前導空間,然後將其添加到對象。 –

回答

4

這將工作,假設字符串格式(您需要SHIM forEach在舊的瀏覽器,或用循環替換):

var myString = "Name, Bob | Location, Washington | Pet, Dog"; 

var myObj = function(){ 
    var result = {}; 
    myString.split(/\s*\|\s*/).forEach(function(el){ 
    var parts = el.split(/\s*,\s*/); result[parts[0]] = parts[1]; 
    }); 
    return result; 
}(); 
+0

謝謝!這有幫助! – mwilson

+1

@mwilson不客氣。順便說一句,你有沒有考慮使用JSON代表你的對象? – Paulpro

+0

是的,我有。然而,我個人的需求(當時)是避免使用JSON或JQuery,直到我完全理解JavaScript(在某種程度上)。我感謝您的幫助! – mwilson