Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript字符串拆分_Javascript_Jquery_Regex - Fatal编程技术网

Javascript字符串拆分

Javascript字符串拆分,javascript,jquery,regex,Javascript,Jquery,Regex,我有一个字符串,如下所示: var str = '35,35,105,105,130,208,50,250'; 我想拆分这个字符串,得到如下结果: var arr = [[35,35],[105,105],[130,208],[50,250]]; 我试过一些方法,但没有一种能给我任何帮助。我尝试使用循环来找到偶数逗号位置和拆分,但这对我来说并不好。请给我一些建议。我正在寻找RegEx解决方案。一种可能的方法: '35,35,105,105,130,208,50,250'.match(/\d+

我有一个字符串,如下所示:

var str = '35,35,105,105,130,208,50,250';
我想拆分这个字符串,得到如下结果:

var arr = [[35,35],[105,105],[130,208],[50,250]];
我试过一些方法,但没有一种能给我任何帮助。我尝试使用循环来找到偶数逗号位置和拆分,但这对我来说并不好。请给我一些建议。我正在寻找
RegEx
解决方案。

一种可能的方法:

'35,35,105,105,130,208,50,250'.match(/\d+,\d+/g).map(function(s) {
    return s.split(',');
});
一行中的另一个疯狂想法:

JSON.parse('['+ '35,35,105,105,130,208,50,250'.replace(/\d+,\d+/g, '[$&]') +']');
一种可能的办法:

'35,35,105,105,130,208,50,250'.match(/\d+,\d+/g).map(function(s) {
    return s.split(',');
});
一行中的另一个疯狂想法:

JSON.parse('['+ '35,35,105,105,130,208,50,250'.replace(/\d+,\d+/g, '[$&]') +']');

这里有一个方法

var values = str.split(','),
    output = [];
while(values.length)
    output.push(values.splice(0,2));

如果
str
包含奇数个值,则使用此方法,输出中的最后一个数组将只包含一个值。

这里有一种方法

var values = str.split(','),
    output = [];
while(values.length)
    output.push(values.splice(0,2));

如果
str
包含奇数个值,则使用此方法,输出中的最后一个数组将只包含一个值。

它必须是
RegEx
?它必须是
RegEx
?二维数组是needed@ArunPJohny是 啊我无意中使用了
filter
而不是
map
。如果字符串包含奇数个逗号分隔的值,此方法将截断最后一个值。二维数组是needed@ArunPJohny是 啊我无意中使用了
filter
而不是
map
。如果字符串包含奇数个逗号分隔的值,此方法将截断最后一个值。