Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从字符串定义新变量_Javascript - Fatal编程技术网

Javascript 从字符串定义新变量

Javascript 从字符串定义新变量,javascript,Javascript,假设我们将字符串myString定义如下: var myString = "foo 123"; 如何从myString定义一个新的变量numbers,使numbers=123 编辑:这里有一个更精确的程序,说明我是如何定义数字的 如果myString不是以foo开头,那么numbers=0。 如果myString确实以foo开头,那么数字应该是foo之后的第一个数字。例如,如果myString=foo 12.3 14,那么数字应该等于12.3。 在这种情况下,可以使用split和parseIn

假设我们将字符串myString定义如下:

var myString = "foo 123";
如何从myString定义一个新的变量numbers,使numbers=123

编辑:这里有一个更精确的程序,说明我是如何定义数字的

如果myString不是以foo开头,那么numbers=0。 如果myString确实以foo开头,那么数字应该是foo之后的第一个数字。例如,如果myString=foo 12.3 14,那么数字应该等于12.3。 在这种情况下,可以使用split和parseInt:

var string_array = myString.split(" ");
var num = 0;
if ((string_array.length >= 2) && (string_array[0] === "foo"))
  num = parseInt(string_array[1]); 
您可以在一行中完成以下操作:

var num = parseFloat(("foo 12.3 14".match(/^foo (.+)/) || [,0])[1]);
或者在两个方面更具可读性:

var match = "foo 12.3 14".match(/^foo (.+)/),
    num = match ? parseFloat(match[1]) : 0;

那么字符串foo 123 bar 456会发生什么呢?还是123福?对不起,我应该说得更准确些。在前一种情况下,数字应该是123。在后一种情况下,数字应该是未定义的或仅为0。请准确定义您的目标。您是否希望在该字符串中获得数字部分?我在上面阐明了我的目标。我建议花更多时间阅读基本JavaScript。例如,你可以谈论字符串。您将立即发现处理字符串的不同方法,包括split。然后,由于split返回一个数组,所以您需要深入研究如何使用数组,包括访问元素。如果你不投资于自己研究这些东西,你将不得不问每一个问题。如何制作字符串大写字母?你想那样做吗?