我有一个像这样的生成列表
196-1526、85-651、197-1519
我需要这样的数组。每个节点有两个部分。我只需要一个数组中每个节点的第一部分。
196、85、197
我已经有了这个生成 196 的代码
str.substr(0,str.indexOf('-'));
我有一个像这样的生成列表
196-1526、85-651、197-1519
我需要这样的数组。每个节点有两个部分。我只需要一个数组中每个节点的第一部分。
196、85、197
我已经有了这个生成 196 的代码
str.substr(0,str.indexOf('-'));
您可以使用以下内容:
'196-1526, 85-651, 197-1519'.replace(/-\d+(,|$)/g, '').split(/\s/)
如果它是一个数组
var myarray = ["196-1526", "85-651", "197-1519"];
var newarray = [];
var i = 0;
for(i = 0; i < myarray.length; i++){
var mnode = myarray[i].split("-");
newarray.push(mnode[0].trim());
}
如果它是一个字符串
var myarray = "196-1526, 85-651, 197-1519".split(",");
var newarray = [];
var i = 0;
for(i = 0; i < myarray.length; i++){
var mnode = myarray[i].split("-");
newarray.push(mnode[0].trim());
}
演示:http: //jsfiddle.net/Dbbc8/
使用拆分尝试此代码
var text='196-1526, 85-651, 197-1519';
var splittedtext=text.split(',');
var numbers=new Array();
for(var i=0;i<splittedtext.length;i++)
{
var furthsplit=splittedtext[i].split('-');
numbers[i]=furthsplit[0];
}
alert(numbers);
var pairs = str.split(", ");
var values = [];
for (var i=0; i< pairs.length; i++) {
values.push(pairs[i].substr(0, pairs[i].indexOf('-')));
}