Как сделать перебор по маске?
Всем привет!
Задача простая - но я в JS полный ноль, прошу помочь, други! Есть два массива: M_A=['A','B','C'] M_B=['Z','Y','X'] Есть маска вида AABA. где A и B означают значения из какого массива должны находится в данной позиции.. маска меняется, значения массива - фиксированные. Надо чтобы функция каждый вызов возвращала следующее значение по маске: в примере это будут AAZA, AAZB, AAZC, AAYA, AAYB, AAYC.......CCXC Примитив, но без знаний конструкций языка сделать не могу :( Премного благодарствую заранее! |
Так?
var pos = 0; var arr_A = ['A','B','C']; var arr_B = ['Z','Y','X']; function find_with_mask(mask) { var result = ""; for (var i in mask) { var char = mask[i]; result += window["arr_"+char][pos]; } pos++; return result; } alert(find_with_mask('AABA')); alert(find_with_mask('AABA')); alert(find_with_mask('AABA')); http://learn.javascript.ru/play/Zguugc |
Цитата:
В данном коде меняются сразу все символы в шаблоне, а задача стоит только по одному символу менять. Типа как бинарный код в порядке возрастания идет 000, 001, 010, 011, 100, 101, 110, 111.. Так и тут должны значения перебираться.. Допилю сам. Огромное спасибо!!! |
Часовой пояс GMT +3, время: 13:35. |