> Иногда возникает потребность переписать какие-то готовые решения под себя но упираюсь в отсутствие знаний. И в таких случаях приходиться полагаться на интуицию.
Ну если папа с мамой не научили, что можно забить в гугл "самоучитель javascript" или "уроки javascript" или открыть исходный пример и посмотреть, как там сделано, то да, остаётся полагаться на интуицию. Ещё можно помолиться.
Это популярная проблема, все пытаются с ней бороться, придумывают разные инструменты, библиотеки и прочее. Но скажу, что при хорошей архитектуре вложенность функций редко переваливает за 2 штуки - а это уже никакой не `хэл`. Ну вот посмотрите на метод в котором у вас этот самый `хэл`. Это же явное нарушение SOLID - один метод обрабатывает данные, куда-то их посылает, ждет в коллбэке ответ, с ним что-то делает, потом снова вызывает другую асинхронную функцию и опять ждет ответ, и так несколько раз. Поэтому `коллбэк хэл` - это классная штука, которая помогает разбивать код на независимые функции - принял данные, что-то сними сделал, отправил дальше как эти данные, так и другие аргументы. Точка.
if (gy.hasOwnProperty(key)) {
console.log(key);
}
str.split(",").map(function(str) str.trim());//Fx3+
str.split(",").map(str=>str.trim());//Fx22+
function clearTags(str){
var trim = String.prototype.trim.call.bind(String.prototype.trim);
return str
.split(',')
.map(trim);
}