Javascript-将字符串拆分为未知数量的字符串

Javascript-将字符串拆分为未知数量的字符串,javascript,string,Javascript,String,我今天的问题是,我从一个查询中检索不同的id,这些id都存储在一个字符串中,例如: 2345, 6042, 2043, 4053 var text = "2345, 6042, 2043, 4053"; var items = text.split(', '); // items will now be an array of 4 strings: ["2345", "6042", "2043", "4053"] items = items.map(function(el){ return

我今天的问题是,我从一个查询中检索不同的id,这些id都存储在一个字符串中,例如:

2345, 6042, 2043, 4053
var text = "2345, 6042, 2043, 4053";
var items = text.split(', ');

// items will now be an array of 4 strings: ["2345", "6042", "2043", "4053"]
items = items.map(function(el){ return el.trim(); });
我现在想要的是将由分隔的每个代码拆分为单独的字符串,因此使用前面的示例:

result1 = 2345
result2 = 6042
result3 = 2043
result4 = 4053
我的问题是,ID的数量在不同的时间可能是不同的,有时可能只有2个ID,或者可能有10个

当金额未知时,我不确定如何使用拆分文本方法

如果您对演示代码有任何帮助,我们将不胜感激


谢谢Shaun,执行拆分不需要知道元素的数量。您将得到一个包含所有新字符串的数组,数组的长度取决于源字符串

以您的例子:

2345, 6042, 2043, 4053
var text = "2345, 6042, 2043, 4053";
var items = text.split(', ');

// items will now be an array of 4 strings: ["2345", "6042", "2043", "4053"]
items = items.map(function(el){ return el.trim(); });
这是假设总是有一个逗号和一个空格。如果您不确定所有元素都将以逗号分隔,则应仅以逗号分隔,然后修剪结果,例如:

2345, 6042, 2043, 4053
var text = "2345, 6042, 2043, 4053";
var items = text.split(', ');

// items will now be an array of 4 strings: ["2345", "6042", "2043", "4053"]
items = items.map(function(el){ return el.trim(); });
假设它们总是整数,那么将它们解析为整数也是一个很好的方法,当然,您需要在某个时候对它们进行数学运算。

RegExp也可以进行拆分

var str = "2345, 6042, 2043, 4053";
var arr = str.split(",");
var results = [];
for (var i = 0; i < arr.length; i++) {
  results.push("result" + i + " = " + arr[i].trim());
}
var ids = '124523, 23444, 23, 123, 5345, 534, 867';
var idArray = ids.split(/,\s?/);

idArray.forEach(function(id) {
  console.log(id);
});

试试这个逻辑,兄弟,你们将把每个值都存储在数组中,然后你们也可以使用循环得到它

var xx = "2345, 6042, 2043, 4053";
var x = xx.split(",");
var result = new Array();
for( var ctr = 0; ctr < x.length; ctr++ ){
    result[ctr] = x[ctr];
}

for( var ctr = 0; ctr < result.length; ctr++ ){
    alert( result[ctr] );
}

对于数量不确定的变量,我建议将数据存储在数组中

var str = "2345, 6042, 2043, 4053";
var arr = str.split(/,\ ?/);
//checking
console.log(arr[0], arr[1]);
变量arr存储带有数字的字符串数组。 如果将数据存储在变量中对您很重要,请参阅下面的代码

var str = "2345, 6042, 2043, 4053";
var arr = str.split(/,\ ?/);
for(var i = 0; i < arr.length; i++){
  window['param'+i] = arr[i];
}
//checking
console.log(param0, param1);
在窗口对象中创建变量。 或者您可以创建自己的对象

var str = "2345, 6042, 2043, 4053";
    var arr = str.split(/,\ ?/);
    var myObj = {};
    for(var i = 0; i < arr.length; i++){
      myObj['param'+i] = arr[i];
    }
//checking
console.log(myObj.param0, myObj.param1);

.共享您尝试的代码。。。!!单独的x和结果数组有什么意义?您可以只做result=xx.split,谢谢您的帮助,始终会有一个逗号和空格,所以它工作得很好,再次感谢