假设我有字符串
x =" 10-20"
我有可能得到 var max = 20; var min = 10;
[编辑] 而且,如果我得到了什么 x =" 1" 并且也想拥有 var max = 1; var min = 1;
是否可以使用处理这两种情况的方法?
答案 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 max
和min
函数获取最大值和最小值。
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