我有一個字符串分裂在JavaScript中的字符串來獲取數據
"(1,4,76,465,567,583,590)"
我希望能夠把它變成一個JavaScript數組
jArray[3] = 465 for example
我怎麼會能夠解析字符串成可變長度的子串作爲數字傳遞?
我有一個字符串分裂在JavaScript中的字符串來獲取數據
"(1,4,76,465,567,583,590)"
我希望能夠把它變成一個JavaScript數組
jArray[3] = 465 for example
我怎麼會能夠解析字符串成可變長度的子串作爲數字傳遞?
只需全部替換(
,)
和空字符串的所有空格字符;與,
把它分解,然後應用parseInt
功能在所有元素將它們轉換成數字,這樣
var data = "(1,4,76,465,567,583,590)";
console.log(data.replace(/[\s()]/g, "").split(",").map(function(currentItem) {
return parseInt(currentItem);
}));
輸出
[ 1, 4, 76, 465, 567, 583, 590 ]
如果你不想將它們轉換爲數字,那麼你最好用
data.replace(/[\s()]/g, "").split(",");
如果你的環境不支持但功能,可以使用下面的
var splittedNumbers = data.replace(/[\s()]/g, "").split(",");
for (var i = 0; i < splittedNumbers.length; i += 1) {
splittedNumbers[i] = parseInt(splittedNumbers[i]);
}
console.log(splittedNumbers);
那麼首先你需要擺脫括號。
var string = "(1,4,76,465,567,583,590)";
string = string.replace(/[()]/g,'');
,將返回
"1,4,76,465,567,583,590"
所以你現在需要做的就是使用split()方法
var array = string.split(',');
,將返回字符串值,所以你將還需要通過他們通過parseInt()方法。
添加新的方法,以字符串原型機由逗號
String.prototype.splitString = function() {
return this.replace('(', '').replace(')', '').split(',').map(function (current) { return parseInt(current) });
};
var string = "(1,2,3,456,567,543,232)";
var array = string.splitString();
輸出刪除(
和)
,然後分裂的
[1, 2, 3, 456, 567, 543, 232]
OP希望整數不是字符串數組。 – Andy
已注意。更新了答案 – Tom