2014-01-20 93 views
2

我有傳遞字符串到視圖的集,但作爲一個單一的字符串一個Spring控制器:轉換一個JavaScript字符串數組

"[AB, NK, LK]" 

然而,我需要上面的字符串轉換成等效的JavaScript陣列狀的情況如下:

["AB", "NK", "LK"] 

我曾嘗試以下的jQuery通過串"[AB, NK, LK]"迭代以這些值添加到一個<select>標籤:

$.each(arrayCodes, function(index, value) { 
     $("#select").append("<option value='" + value + "'>" + arrayCodeValues[index] 
       + "</option>"); 
}); 
+2

爲什麼不讓控制器給你有效的JSON?所以你可以'JSON.parse'? –

+0

@RocketHazmat是的,想到這一點。但是,我將許多值(不同的值)傳遞給視圖。就我而言,它實際上會有更多的工作。當然,我會顯示我的Java控制器代碼,但它不在問題範圍內。 – blackpanther

+1

我同意@RocketHazmat這聽起來有點像XY問題。 –

回答

3

你可以做

var arr = "[AB, NK, LK]".slice(1,-1).split(", ") 
0

用正則表達式

var vals = "[AB, NK, LK]".match(/[A-Z]{2}/g); 
0

檢查這裏使用分割功能,如果你想http://www.w3schools.com/jsref/jsref_split.asp這可以解決你的問題。

var sText = "[AB, NK, LK]"; 
var arrayCodes= str.split(","); 

$.each(arrayCodes, function(index, value) { 
     $("#select").append("<option value='" + value + "'>" + arrayCodeValues[index] 
       + "</option>"); 
}); 
+0

請優先使用MDN參考資料,例如https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split到w3schools的參考資料,當它們更好時http://www.w3fools。 COM –

相關問題