Метод не может получить свойство массива length
Метод не может прочитать свойство.
Всем привет, решил написать первое приложение и тут же встрял. Создал 4 функции: 1. Первая функция генерирует работу первого спортсмена. 2. Вторая функция генерирует работу второго спортсмена. 3. Третья функция генерирует случайное число, размером не больше массива переданного в качестве аргумента. 4. Функция вызывает первую и вторую функцию, каждая из которых возвращает значение и выводит его в консоль. Все работало, добавил новый конструктор и сделал функции его методами. В итоге при вызове получаю ошибку Uncaught TypeError: Cannot read property 'length' of undefined(…). Помогите разобраться в чем дело, а то я ума не приложу. Я буду вам очень благодарен. // Функция конструктор тренировки. function training(roundLength, numberOfRounds, restTime) { this.roundLength = roundLength, this.numberOfRounds = numberOfRounds, this.restTime = restTime, this.trainingDuration = function() { var timeOfTraining = (((this.numberOfRounds * this.roundLength) + (this.restTime * this.numberOfRounds)) / 60); return timeOfTraining; }, this.firstNumWorks = function(array){ var randNum = this.getRandomIndex(array); var textWork = "Первый номер атакует " + randNum; return textWork; }, this.secondNumWorks = function(array) { var randNum = getRandomIndex(array); var randTactic = this.getRandomIndex(tactic); var textWork = ", второй номер" + randTactic + randNum; return textWork; }, this.getRandomIndex = function(array) { var num = Math.floor(Math.random() * array.length); return array[num]; }, this.createNewRoutime = function() { var time = this.numberOfRounds; for (var i = 0; i < time; i = i + 1) { console.log(this.firstNumWorks(punches) + this.secondNumWorks(punches)); } }; }; // Создаем первую тренировку. var firstTraining = new training(180, 20, 60) console.log(firstTraining.trainingDuration()); Этот метод не вызывается и выдает ошибку>>> console.log(firstTraining.getRandomIndex(punches)) ; // Массив одиночных ударов. var punches = ["левым прямым", "правым прямым", "левым боковым", "правым боковым", "левым снизу", "правым снизу"]; // Массив двух - ударных комбинаций в голову. var combHead = ["Левый прямой - Правый прямой", "Левый боковой - правый прямой", "Левый снизу - правый прямой"]; // Массив двух - ударных комбинаций по этажам. var combFloor =[]; // Массив защитных техник var defence = ["Подставка", "Сбив", "Блок предплечьем", "Блок плечом", "Уклон", "Нырок", "Сайдстеп"]; // Массив характеров нанесения ударов var tactic = [" отвечает ему ", " встречает его "]; /* Здесь все работало >>> // Функция возвращаются случайный элемент массива. // Проверено! function getRandomIndex(array) { var num = Math.floor(Math.random() * array.length); return array[num]; }; // Функции создающие случайные задания. // Проверено! function firstNumWorks(array){ var randNum = getRandomIndex(array); var textWork = "Первый номер атакует " + randNum; return textWork; }; // Работа второго номера на встречу. // Проверено! function secondNumWorks(array) { var randNum = getRandomIndex(array); var randTactic = getRandomIndex(tactic); var textWork = ", второй номер" + randTactic + randNum; return textWork; }; // Создает задание за счет вызова firstNumWorks и secondNumberWorks и выводит его в консоль. // Проверено! function createNewWork(Obj){ var trainingTime = Obj.trainingDuration(); for(var i = 0; i < trainingTime; i = i + 1) { console.log(firstNumWorks(punches) + secondNumWorks(punches)) } }; */ |
Вопрос снят, автор идиот.
Просьба закрыть тему. |
Часовой пояс GMT +3, время: 09:32. |