是否可以从给定的字符串1stnumber-2ndnumber获取最大值和最小值

时间:2017-07-03 03:19:42

标签: javascript

假设我有字符串

x =" 10-20"

我有可能得到 var max = 20; var min = 10;

从我获得的x?

[编辑] 而且,如果我得到了什么 x =" 1" 并且也想拥有 var max = 1; var min = 1;

是否可以使用处理这两种情况的方法?

5 个答案:

答案 0 :(得分:1)

您需要将这些值拆分为整数。

data

使用src函数var o = document.getElementById('flash_99674493'); var n = o.cloneNode(!0); o.parentNode.insertBefore(n, o); o.parentNode.removeChild(o); 要么 var arrayValue = x.split('-');

答案 1 :(得分:0)

您可以使用正则表达式提取数字,然后使用javascript maxmin函数获取最大值和最小值。

var x = '10-20';

var regex = x.match(/(\d+)-(\d+)/);
var first = Number(regex[1]);
var second = Number(regex[2]);
var maximum = Math.max(first, second);  // the largest of the two numbers
var minimum = Math.min(first, second);  // the smallest of the two numbers

答案 2 :(得分:0)

这应该可以解决问题。

var nums = x.split("-");
nums[0] //10
nums[1] //20

如果需要使用它们计算,请将字符串值转换为整数或数字。 parseInt(nums[0])Number(nums[0])

如果您想要低和高,无论它们是如何进入的,您都可以为数组添加排序。

x = "20-10";x = "10-20";

var nums = x.split("-").sort(function(a, b) {return a - b});
alert("nums:"+nums[0]+" - "+nums[1]);

答案 3 :(得分:0)

您可以使用string .split() method获取包含子字符串的数组:

var input = "10-20"
var numberStrings = input.split("-")     // ["10", "20"]

然后,将数组中的字符串转换为数字并分配给您的变量。我使用unary plus operator进行转换。

如果输入中没有"-",即它只是一个数字,.split()的返回值将是一个只有一个元素的数组输入字符串,所以测试:

var min = +numberStrings[0]
var max = numberStrings.length === 1 ? min : +numberStrings[1]

答案 4 :(得分:0)

使用常规匹配获取字符串,将字符串转换为数字

javascript