如何计算不同数字之间的步数。
我有一个方法,它接受一个数字并运行带有该数字的代码片段。我需要查看数字是否是另一个或两个步骤旁边的数字,三步,四步以上等等。
实施例。我向方法发送了1个数字。发送的下一个号码是4.然后我需要找出它上面有多少步骤等等,在这种情况下应该是结果的3步骤。
任何线索?
答案 0 :(得分:7)
您可以使用带闭包的函数:
var value = (function() {
var previousValue = null;
return function(id) {
if (previousValue !== null) {
if(previousValue >= id) {
alert("Difference: -" + (previousValue - id));
}
else alert("Difference: +" + (id - previousValue));
}
previousValue = id;
};
})();
查看示例小提琴here。
答案 1 :(得分:1)
一个简单的减法!
var stepx = 1
var stepy = 4
var diff = stepy - stepx
alert (diff)
答案 2 :(得分:0)
添加了针对否定步骤的修复
var previousNumber = 0;
function countSteps(number) {
var result = (number - previousNumber);
previousNumber = number;
return (result<0) ? result*-1 : result;
}
答案 3 :(得分:0)
抱歉被打断了
<html>
<head>
<script>
var cnt="";
function countAndSave(num) {
var text = (cnt==="")?num:num+":"+Math.abs(num-cnt)+"/"+cnt
cnt=num;
return text
}
window.onload=function() {
document.getElementById("output").innerHTML +="<br />"+countAndSave(1);
document.getElementById("output").innerHTML +="<br />"+countAndSave(3);
document.getElementById("output").innerHTML +="<br />"+countAndSave(4);
document.getElementById("output").innerHTML +="<br />"+countAndSave(1);
document.getElementById("output").innerHTML +="<br />"+countAndSave(2);
document.getElementById("output").innerHTML +="<br />"+countAndSave(3);
}
</script>
</head>
<body>
<div id="output"></div>
</body>
</html>