文字列 "255, 100, 0" があるとします。コンマの前に各値を分離して var に挿入するにはどうすればよいですか?
つまり:
x = 255;
y = 100;
z = 0;
文字列 "255, 100, 0" があるとします。コンマの前に各値を分離して var に挿入するにはどうすればよいですか?
つまり:
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 = "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);
}
ではexpressions
、 のような値が得られますx = 255
。次に、にカットするだけです=
。1 を掛けて int にキャストするだけです。
文字列が実際によく知られている/形成されている場合:
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
var string = "255, 100, 0";
var arrNums = string.split(",");
各数値をarrNums
配列の要素に入れます。
Have look at the Javascript split method https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split
var str = "255, 100, 0";
var array = str.split(',');
Then you can loop through the array and create your variables, or better use the array directly
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];