Javascript-将字符串拆分为未知数量的字符串
我今天的问题是,我从一个查询中检索不同的id,这些id都存储在一个字符串中,例如: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
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,谢谢您的帮助,始终会有一个逗号和空格,所以它工作得很好,再次感谢