можно использовать простой цикл по числам
преобразовывая функцией .toString(основание системы)
http://learn.javascript.ru/number#to...исления
а потом заменяя цифры на символы
var x = ['a', 'b'],
len = x.length,
arr,
s,
sItog = '';
for (var i = 0;; i += 1) {
s = i.toString(len);
if (s.length > len) {
break;
}
if (s.length < len) {
s = ('00000000000000' + s).slice(-len); // дополним слева нулями
}
arr = s.split('').map(function (v) {
return x[v];
});
sItog += arr.join('') + ' ';
}
alert(sItog);
сделаем массив из 3 символов
var x = ['a', 'b', 'c'],
len = x.length,
arr,
s,
sItog = '';
for (var i = 0;; i += 1) {
s = i.toString(len);
if (s.length > len) {
break;
}
if (s.length < len) {
s = ('00000000000000' + s).slice(-len); // дополним слева нулями
}
arr = s.split('').map(function (v) {
return x[v];
});
sItog += arr.join('') + ' ';
}
alert(sItog);