Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Добрый день нужна помощь в задании (https://javascript.ru/forum/misc/72335-dobryjj-den-nuzhna-pomoshh-v-zadanii.html)

Cfifsasaasas 22.01.2018 15:41

Добрый день нужна помощь в задании
 
У меня есть домашнее задание .Я уже спрашивал некоторые елементы но толком в кучу слепить не могу ) Очень прошу помощи

Вот задание в котором 3 пункта

(Используя логику создания массива клавиатурных строк, создать функцию addKeyboardLayout(alphabet) которая на входе получает строку-алфавит и возвращает массив-массивов клавиатурных строк.

Создать функцию getRandCharInRow(row) которая получает номер строки клавиатуры и возвращает случайную букву из этой строки.

Создать функцию getRandCharInAlph() которая возвращает случайную букву из всего алфавита.)

laimas 22.01.2018 15:45

Cfifsasaasas,
с завидным постоянством одни и те же темы от вас. Может проще начать изучать Javascript?

Dilettante_Pro 22.01.2018 15:52

Cfifsasaasas,
А что такое логика создания массива клавиатурных строк ?

Cfifsasaasas 22.01.2018 15:59

К этому пункту я уже сам написал .Мне 2 других интересуют
 
))

Cfifsasaasas 22.01.2018 16:07

Dilettante_Pro,

К этому пункту я уже сам написал .Мне 2 других интересуют
ВОТ код к 1
const alphabet = "qwertyuiop[]asdfghjkl;\'zxcvbnm,.\/";
function addKeyboardLayout(alphabet) {
let keyboardRows = [],
keyboardSymbols = alphabet.split(""),
firstRow = keyboardSymbols.slice(0, keyboardSymbols.indexOf('a')),
secondRow = keyboardSymbols.slice(keyboardSymbols.indexOf('a') , keyboardSymbols.indexOf('z')),
thirdRow = keyboardSymbols.slice(keyboardSymbols.indexOf('z') );
keyboardRows.push(firstRow);
keyboardRows.push(secondRow);
keyboardRows.push(thirdRow);
return keyboardRows;
}

Dilettante_Pro 22.01.2018 16:40

Странно...
Второй и третий вопросы намного проще.
Тем более, что вы уже обсуждали ответы на эти вопросы в других темах.

<script>
const alphabet = "qwertyuiop[]asdfghjkl;\'zxcvbnm,.\/";
function addKeyboardLayout(alpha) {
   let keyboardRows = [],
   keyboardSymbols = alpha.split(""),
   firstRow = keyboardSymbols.slice(0, keyboardSymbols.indexOf('a')),
   secondRow = keyboardSymbols.slice(keyboardSymbols.indexOf('a') , 
   keyboardSymbols.indexOf('z')),
   thirdRow = keyboardSymbols.slice(keyboardSymbols.indexOf('z') );
   keyboardRows.push(firstRow);
   keyboardRows.push(secondRow);
   keyboardRows.push(thirdRow);
   return keyboardRows;
}

function getRandCharInRow(row) {
   return kbd[row - 1][Math.floor(Math.random() * kbd[row - 1].length)];
}

function getRandCharInAlph() {
    return getRandCharInRow(Math.floor(Math.random() * kbd.length) + 1);
}

var kbd = addKeyboardLayout(alphabet);
document.write(JSON.stringify(kbd) + "<br>" + "<br>");

for (var i = 0; i < kbd.length; i++) {
      document.write(kbd[i] + "<br>");
}
document.write("Случайный символ из 2-й строки: " + getRandCharInRow(2) + "<br>");
document.write("Случайный символ из всего массива: " + getRandCharInAlph());
</script>


Или есть шпаргалка, но вы не знаете, что в ней написано?

Cfifsasaasas 22.01.2018 16:50

Dilettante_Pro,
Да нет , просто ответ не получаеться, должно быть выведено в консоле 3 строки 1)массив-массивов что уже есть 2)случайна буква из заданой мной строки и 3 )просто случайна буква с этих 3 строк . Вроде ничего трудного . Но я новенький в этой сфере и многие мелочи даются тяжело

Cfifsasaasas 22.01.2018 21:19

Dilettante_Pro,
Спасибо . Только там 3 отдельных массива а должен быть двухмерный. Может это и просто делается но мне лучше раз увидеть чтобы больше такого не было . Мне б там понять что к чему и для чего написано .Был бы очень благодарен

Dilettante_Pro 23.01.2018 06:52

Cfifsasaasas,
Там один двумерный массив kbd, в котором можно обращаться как к строкам целиком, так и к отдельным элементам

Cfifsasaasas 23.01.2018 07:43

Dilettante_Pro,
вывод на экран просто 3 отдельных массивов а надо одного дмухмерного

Dilettante_Pro 23.01.2018 07:59

Cfifsasaasas,
В строках скрипта 25-27 выводятся в цикле три строки массива kbd, каждая из которых тоже массив
Добавил в пример вывод полной структуры массива


Часовой пояс GMT +3, время: 11:43.