2012-04-05 2 views
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())))); 

Так что я мог нажать на ячейку в таблице, когда я воспроизвести мое испытание. И я хочу щелкнуть по тем же ячейкам позже.

Ответ:

кажется, что Камю был прав. Передача результата переменной, а затем ее чтение впоследствии разрешило мою проблему. Я думал, что это будет немного сложнее.

редактировать:

Теперь, есть способ, чтобы выбрать в случайном порядке другой ячейки каждый раз? Потому что, используя мой метод, есть возможность выбирать те же самые ячейки.

+2

вам нужно получить доступ к нему позже на той же странице, или позже на другой странице Do ? – bezmax

+0

Я собираю, например, 5 элементов из таблицы, но позже я хочу выбрать те же 5 элементов из этой таблицы. Есть ли в этом смысл? – Bosco

+1

как насчет того, чтобы поместить результат выбора в переменную? Затем получить содержимое этой переменной, когда вам это нужно? – mpm

ответ

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 
Смежные вопросы