在Javascript中,如何查找字符串中的字符并将其放在变量之前的所有字符
问题描述:
在javascript中,我试图制作一个程序,它必须处理可以输入的分数,并且需要一个函数会根据用户规格将这种格式(“10/27”)中的一部分转换为10或27,但我不知道该如何编写此函数。任何代码或建议,让我开始将不胜感激。在Javascript中,如何查找字符串中的字符并将其放在变量之前的所有字符
答
可以将字符串分割成与split()
阵列,然后在第一个或第二部分作为分子或分母:
function getNumerator(fraction) {
// fraction = "10/27"
return fraction.split("/")[0];
}
function getDenominator(fraction) {
// fraction = "10/27"
return fraction.split("/")[1];
}
答
var fraction = "10/27".split("/");
var numerator = fraction[0];
var denominator = fraction[1];
当然,你可以使用一个库它太:https://github.com/ekg/fraction.js
与此库的回答将是:
(new Fraction(10, 27)).numerator
+1
感谢您的简单介绍 – jeffkmeng
答
的阵列
您可以使用indexOf()
在字符串中进行搜索。它返回搜索字符串的第一个位置。
如果要使用字符分割字符串,请使用split()
。它会返回一个数组。因此,对于例如:在你的字符串27/10,的indexOf /是但如果你不拆,你会得到2个值,27和10
function splitString(str, searchStr) {
return str.split(searchStr);
}
function calculateValue(str) {
var searchStr = '/';
var values = splitString(str, searchStr);
var result = parseInt(values[0])/parseInt(values[1]);
notify(str, result);
}
function notify(str, result) {
console.log(result);
document.getElementById("lblExpression").innerText = str;
document.getElementById("lblResult").innerText = result;
}
(function() {
var str = "27/10";
calculateValue(str)
})()
Expression:
<p id="lblExpression"></p>
Result:
<p id="lblResult"></p>
它的工作,谢谢! – jeffkmeng