如何使用字符串列表创建数组

时间:2013-02-13 13:28:35

标签: javascript

我有一个生成的列表,就像这样

  

196-1526,85-651,197-1519

我需要像这样的数组。每个节点有两部分。我只需要一个数组中每个节点的第一部分。

  

196,85,197

我已经有了这个生成196的代码

str.substr(0,str.indexOf('-'));

5 个答案:

答案 0 :(得分:3)

您可以使用以下内容:

'196-1526, 85-651, 197-1519'.replace(/-\d+(,|$)/g, '').split(/\s/)

答案 1 :(得分:2)

如果是数组

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/

答案 2 :(得分:2)

如果输入是字符串,您可以使用split()push(),类似于:

var x = "196-1526, 85-651, 197-1519"
var y = x.split(',');

var myArray = [];

for(i = 0; i < y.length; i++){
    myArray.push(y[i].split('-')[0].trim());
}

DEMO - 使用split()push()


答案 3 :(得分:0)

使用split

尝试此代码
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);

答案 4 :(得分:0)

var pairs = str.split(", ");
var values = [];

for (var i=0; i< pairs.length; i++) {
    values.push(pairs[i].substr(0, pairs[i].indexOf('-')));
}