3

私はこのような生成されたリストを持っています

196-1526、85-651、197-1519

このような配列が必要です。各ノードには 2 つの部分があります。1 つの配列内の各ノードの最初の部分だけが必要です。

196、85、197

私はすでに196を生成するこのコードを持っています

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

5 に答える 5

3

以下を使用できます。

'196-1526, 85-651, 197-1519'.replace(/-\d+(,|$)/g, '').split(/\s/)
于 2013-02-13T13:33:00.277 に答える
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/

于 2013-02-13T13:31:54.710 に答える
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());
}

デモ-split()とのpush()


于 2013-02-13T13:32:29.823 に答える
0

分割を使用してこのコードを試してください

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);
于 2013-02-13T13:34:56.660 に答える
0
var pairs = str.split(", ");
var values = [];

for (var i=0; i< pairs.length; i++) {
    values.push(pairs[i].substr(0, pairs[i].indexOf('-')));
}
于 2013-02-13T13:35:51.790 に答える