有没有办法让JavaScript选择加减运算符?

时间:2016-02-27 05:29:37

标签: javascript operators

我希望我的JavaScript能够随机选择使用 public boolean equalBuffers(StringBuffer sb1, StringBuffer sb2) { if (sb1 == sb2) { return true; } int len = sb1.length(); if (len != sb2.length()) { return false; } for (int i = 0; i < len; i++) { if (sb1.charAt(i) != sb2.charAt(i)) { return false; } } return true; } 运算符减去或使用-运算符添加。无论如何我可以让它随机选择两者之间吗?

4 个答案:

答案 0 :(得分:1)

是的,你可以。

获取随机数

Math.random();

如果随机数小于0.5,则乘以-1,否则什么都不做。

答案 1 :(得分:1)

正如@Chizzle所说,要走的路是Math.random(),但是如果你想要更精确一点,你应该使用:

Math.random() <= 0.5

这种方式的机会是50到50,间隔可以用[0,0.5]和[0.5,1]来描述。 Math.random()返回0(包括)和1(不包括)之间的随机数。

这是一个带有函数的简单代码片段:

&#13;
&#13;
function randSumSub(a, b) {
  if (Math.random() <= 0.5) {
    result = a - b;
  } else {
    result = a + b;
  }
  return result;
}
&#13;
#result {
  display: inline-block;
  width: 20px;
  height:20px;
  text-align: center;
  border: 1px solid red;
}
&#13;
2 +|- 5
<button onclick="document.getElementById('result').innerHTML = randSumSub(2,5);">=</button> 
<div id="result">?</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

我会做这样的事情:

function getSignMultiplier() {
  if (Math.random() < 0.5) {
    return -1;
  } else {
    return 1;
  }
}

然后使用它:

var numbers = [
  5 * getSignMultiplier(),
  5 * getSignMultiplier(),
  5 * getSignMultiplier()
];

document.getElementById('output').innerText = numbers.join(', ');

JSFiddle:https://jsfiddle.net/2snbgyw2/1/

答案 3 :(得分:0)

我建议使用内联语法和其他人提到的Math.random()技巧:

var a = 1;
var b = 2;
var a_plusOrMinus_b = (Math.random()<=0.5 ? a+b : a-b);

alert(a_plusOrMinus_b);