parseInt 最后一个数字并保存为变量
parseInt last number and save as variable
我想将图像计数器中的两个不同值保存为两个变量 class,例如:
<div class="counter">33 / 111</div>
33为当前图片的编号
一共111张图片
我可以使用 parseInt 获取第一个值并将其保存在变量中。
$(document).ready(function(){
var sc=$('.counter').text();
sc=parseInt(sc);
alert(sc);
});
但是我怎样才能得到最后一个数字(图像总数=“111”)并将其放入另一个第二个变量中?
var x=$('.counter').text();
x=???parseInt(x)+???;//get the last Number (111)
alert(x); //x=111
首先,不要使用parseInt()
获取第一个值。使用 split()
将值放入数组中,然后您可以从数组中获取它们,如下所示:
var values = $('.counter').text().split('/');
然后把它们放到单独的变量中,你可以简单地引用数组的相关索引:
var firstValue = values[0];
var secondValue = values[1];
注意
上述解决方案将 return 来自 div 的字符串值,因此如果您确实需要它们作为整数,您可以使用 parseInt()
单独转换它们,如下所示:
var firstValue = parseInt(values[0]);
var secondValue = parseInt(values[1]);
或者您可以在分配 firstValue
和 secondValue
变量之前将整个数组转换为整数,而不必在声明中使用 parseInt()
,如下所示:
var values = $('.counter').text().split('/').map(Number);
另一条注意事项
如果您正在为 JavaScript 使用新的 ES6 规范(其中有很多好东西),您实际上可以将其作为一个非常巧妙的单行代码来执行,如下所示:
let [firstValue, secondValue] = $('.counter').text().split('/').map(Number);
如果文本始终是 "number / number",您可以像这样提取最后一个数字:
lastNumber = +(x.split('/')[1].trim());
split
创建一个数组,[1]
returns 该数组中的第二个成员,trim
删除字符串周围的白色-space。最后表达式前面的+
将值转换为数字。
RegExes 是一种选择,但更基本的方法是这样的:
var totalNum = parseInt(x.substr(x.indexOf('/') + 1));
var pageNum = parseInt(x);
我想将图像计数器中的两个不同值保存为两个变量 class,例如:
<div class="counter">33 / 111</div>
33为当前图片的编号
一共111张图片
我可以使用 parseInt 获取第一个值并将其保存在变量中。
$(document).ready(function(){
var sc=$('.counter').text();
sc=parseInt(sc);
alert(sc);
});
但是我怎样才能得到最后一个数字(图像总数=“111”)并将其放入另一个第二个变量中?
var x=$('.counter').text();
x=???parseInt(x)+???;//get the last Number (111)
alert(x); //x=111
首先,不要使用parseInt()
获取第一个值。使用 split()
将值放入数组中,然后您可以从数组中获取它们,如下所示:
var values = $('.counter').text().split('/');
然后把它们放到单独的变量中,你可以简单地引用数组的相关索引:
var firstValue = values[0];
var secondValue = values[1];
注意
上述解决方案将 return 来自 div 的字符串值,因此如果您确实需要它们作为整数,您可以使用 parseInt()
单独转换它们,如下所示:
var firstValue = parseInt(values[0]);
var secondValue = parseInt(values[1]);
或者您可以在分配 firstValue
和 secondValue
变量之前将整个数组转换为整数,而不必在声明中使用 parseInt()
,如下所示:
var values = $('.counter').text().split('/').map(Number);
另一条注意事项
如果您正在为 JavaScript 使用新的 ES6 规范(其中有很多好东西),您实际上可以将其作为一个非常巧妙的单行代码来执行,如下所示:
let [firstValue, secondValue] = $('.counter').text().split('/').map(Number);
如果文本始终是 "number / number",您可以像这样提取最后一个数字:
lastNumber = +(x.split('/')[1].trim());
split
创建一个数组,[1]
returns 该数组中的第二个成员,trim
删除字符串周围的白色-space。最后表达式前面的+
将值转换为数字。
RegExes 是一种选择,但更基本的方法是这样的:
var totalNum = parseInt(x.substr(x.indexOf('/') + 1));
var pageNum = parseInt(x);