1

我正在使用这种方法从表中随机选择一个单元格:

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())))); 

因此,当我播放测试时,我可以单击表格中的一个单元格。我想稍后单击相同的单元格。

回答:

看来加缪是对的。将结果传递给一个变量,然后再读取它解决了我的问题。我认为它会更复杂一些。

编辑:

现在,有没有一种方法可以每次随机选择一个不同的单元格?因为使用我的方法有时有机会选择相同的单元格。

4

1 回答 1

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
于 2012-04-05T10:02:12.367 回答