Показать сообщение отдельно
  #6 (permalink)  
Старый 09.11.2016, 16:47
Аватар для spo
spo spo вне форума
Профессор
Отправить личное сообщение для spo Посмотреть профиль Найти все сообщения от spo
 
Регистрация: 11.05.2011
Сообщений: 213

Большое спасибо, советы взял на заметку.
Есть еще задачка, которую я тоже вроде как решил, но сомневаюсь насчет оптимальности решения.

Задача #4

Условие

Напишите модуль, который экспортирует функцию с именем `consoleRec`
Функция должна рекурсивно выводить элементы массива на экран
Запрещено использовать циклы и методы для работы с массивами
Функция должна принимать два аргумента: массив и что-то еще на ваше усмотрение

Пример

consoleRec(['я', 'умею', 'писать', 'рекурсивные', 'функции']);


Должна вывести на экран:

я
умею
писать
рекурсивные
функции

Решение

Файл script.js

let recurtion = require('./recurtion.js'),
	array = ['я', 'умею', 'писать', 'рекурсивные', 'функции'],
	myName = 'spo';
	
recurtion(array, myName);


Файл recurtion.js

let i = 0;

module.exports = function consoleRec(arr, name) {
	if(i < arr.length) {
		if(i == 0) {
			console.log(arr[i] + ' - ' + name);
		} else {
			console.log(arr[i]);
		}
		i++;
		consoleRec(arr, name);
	}
}


Вопрос

Про module.exports пока знаю мало и не понимаю почему, экспортируя только функцию, я имею доступ и к переменной i?

Последний раз редактировалось spo, 09.11.2016 в 16:50.
Ответить с цитированием