RatiboR1978
@RatiboR1978

Задачка по js, как решить?

Вот задачка? надо из массива склеить элементы в строчку через цикл.
вот код:
let result = '';
function handleKey (key) {
result += key;
return result;
}

var keys = ['2', '4', 'R', '2', 'd', '2'];
for (let key of keys) {
handleKey (key);
}

Все как бы работает, а вот через замыкание это можно реализовать? чтобы result был внутри функции, не могу этого добиться. Это возможно?
  • Вопрос задан
  • 203 просмотра
Решения вопроса 3
можт так?
var keys = ['2', '4', 'R', '2', 'd', '2'];

function glue(a) {
	var s = '', i = 0;
	while (s.length !== a.length) {
		s += a[i++];
	}
	return s;
}
Ответ написан
Комментировать
hadleKeyFactory = function() {
    var result = '';
    return function(key) {
        return (result += key);
    } 
}

Использовать так:
var handleKey = new hadleKeyFactory();
handleKey('a');
// output 'a'
handleKey('b')
// output 'ab'

А зачем?
Ответ написан
Fragster
@Fragster
помогло? отметь решением!
var keys = ['2', '4', 'R', '2', 'd', '2'];
var result = keys.reduce(function(accum, current){
  return !accum ? current : '' + accum + current;
});
console.log(result);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы