记下表中的随机选择

时间:2012-04-05 09:29:44

标签: javascript arrays random

我正在使用此方法从表中随机选取一个单元格:

Math.floor(Math.random() * example.length)

它没有问题。

但是我需要记住我的选择,所以我可以在我的项目中再次选择那个单元格。

有没有办法做这件事?

编辑: 我在测试脚本中使用此方法:

lvwPrivilegestable().click(
    atCell(atRow((int)Math.floor(Math.random() * orderTable.getRowCount())), 
    atColumn((int)Math.floor(Math.random() * orderTable.getColumnCount())))); 

所以当我回放测试时,我可以点击表格中的单元格。我想稍后点击相同的单元格。

答案:

似乎camus是对的。将结果传递给变量然后再读取它解决了我的问题。我认为这会有点复杂。

编辑:

现在,有没有一种方法可以随机选择不同的细胞? 因为使用我的方法,有时候有机会选择相同的细胞。

1 个答案:

答案 0 :(得分:0)

您可以构建一个可以记住随机数的小实用程序对象:

function replayRandom() {
var results = [];
var replay = false;

return {
  replay: function() {
    replay = true;
  },
  next: function() {
    if (!replay) {
      val = Math.random();
      results.push(val);
      return val;
    }
    val = results[0];
    results.shift();
    return val;
  }
};
}

示例:

r = replayRandom();
r.next();
0.7939797908670404
>>> r.next();
0.6103413074215163
>>> r.replay();
>>> r.next();
0.7939797908670404
>>> r.next();
0.6103413074215163