假设我有一个字符串"255, 100, 0"。如何将逗号前的每个值隔离出来并插入到变量中?
我的意思是:
x = 255;
y = 100;
z = 0;
假设我有一个字符串"255, 100, 0"。如何将逗号前的每个值隔离出来并插入到变量中?
我的意思是:
x = 255;
y = 100;
z = 0;
var str = "255, 100, 0";
var d = str.split(",");
var x = parseInt(d[0],10); // always use a radix
var y = parseInt(d[1],10);
var z = parseInt(d[2],10);
console.log(x); //255
console.log(y); //100
console.log(z); //0
String.match()
方法将按找到顺序返回所有匹配项的数组:var str = "255, 100, 0",
regex = /(\d+)/g, // g is for "global" -- returns multiple matches
arr = str.match(regex);
console.log(arr); // ["255","100","0"] -- an array of strings, not numbers
要将它们转换为数字,可以使用简单的循环:
for (var i=0,j=arr.length; i<j; i++) {
arr[i] *= 1;
}; // arr = [255, 100, 0] -- an array of numbers, not strings
var str = "255, 100, 0";
var str_new = str.split(",");
var x = str_new[0];
var y = str_new[1];
var z = str_new[2];
var string = "255, 100, 0";
var arrNums = string.split(",");
将每个数字放入arrNums
数组的一个元素中。
看一下Javascript的split方法https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split
var str = "255, 100, 0";
var array = str.split(',');
然后您可以循环遍历数组并创建变量,或者更好地直接使用数组
尝试使用JavaScript的split()方法
var str = "255, 100, 0";
var elements = str.split(','); //take values to an array
//access the elements with array index
var x = elements[0];
var y = elements[1];
var z = elements[2];
var string = "x = 255; y = 100; z = 0;";
你确实应该尝试使用 split
函数:
var values = [];
var expressions = string.split("; ");
for (var i = 0, c = expressions.length ; i < c ; i++) {
values.push(expressions[i].split("= ").pop() * 1);
}
x = 255
这样的值。然后,你只需要截取等号 =
前面的部分。我只需将其乘以1来将其转换为整数。var str = "255, 100, 0";
var vals = str.split(', '); // <<= you can split on multiple chars
var x = +vals[0]; // <<= coerces to a number
// lather, rinse, repeat
.split()
似乎比/^(\d+),\s*(\d+),\s*(\d+)$/
更容易,但是我会使用正则表达式,以防止意外拆分无效的字符串。 - Zeta