我使用math.js来计算从输入中获取的一系列数字的gcd。在我提到的测试选项中:
但它不起作用。
我错过了什么,因为它没有从输入中计算出数字。它直接提供数字时有效。例如:math.gcd(4, 8, 25,74)
<script src="http://cdnjs.cloudflare.com/ajax/libs/mathjs/1.2.0/math.min.js"></script>
$(function(){
IaNr=$("#nrs").val()
DoGcd=math.gcd(IaNr)
$("#show").html(DoGcd)
})
<input id="nrs" value="14,92,34,78">
<div id="show"></div>
答案 0 :(得分:1)
var arr = $("#nrs").val();
var array = arr.split(',');
for(var i=0 ; i< array.length ;i++){
array[i] = parseInt(array[i]);
}
dogcd = math.gcd(array[0],array[1],array[2],array[3]);
$("#show").html(dogcd);
答案 1 :(得分:0)
IaNr = $.map($("#nrs").val().split(','),
function(val, idx) {
return parseInt(val, 10);
})
DoGcd=math.gcd(IaNr);
$("#show").html(DoGcd);
<强> Demo 强>
答案 2 :(得分:0)
我建立在@ praveenraj9建议的解决方案上:
var arr = $("#nrs").val();
var array = arr.split(',');
for(var i=0 ; i< array.length ;i++){
array[i] = parseInt(array[i]);
}
并根据我的需要进行调整。
FaL=arr.length;
if(FaL===2){$("#show").html(math.gcd(ar[0],ar[1]))};
if(FaL===3){$("#show").html(math.gcd(ar[0],ar[1],ar[2]))}
etc
如果anyoane知道更优雅/更短的解决方案,我欢迎它。
谢谢你的帮助。