Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
for ( var i in data){
data[i].id = data[i].id.toString();
if (tree.l0[data[i].id] == undefined){
tree.l0[data[i].id] = data[i];
}
if (data[i].children){
for (var j in data[i].children){
data[i].children[j].id = data[i].children[j].id.toString();
if ( tree.l1[data[i].children[j].id] == undefined && tree.l2[data[i].children[j].id] == undefined){
tree.l1[data[i].children[j].id] = data[i].children[j];
}
if (data[i].children[j].children){
for (var z in data[i].children[j].children){
data[i].children[j].children[z].id = data[i].children[j].children[z].id.toString();
if (tree.l2[data[i].children[j].children[z].id] == undefined){
tree.l2[data[i].children[j].children[z].id] = data[i].children[j].children[z];
}
}
}
}
}
}
Вот с таким кодом приходится работать... [продолжение]
Упасть? По-моему, в вебе - плохо (за некоторыми исключениями). Это в НИИ программа не должна рассчитать, что Луна будет завтра от нас в NaN километрах. Там она должна упасть. А в браузере уж лучше показать пользователю "Привет, undefined!", чем упасть и утащить за собой, скажем, обработчик кнопки "ответить".
// Пошла транзакция, пошла, родная...
// А клиент вечером будет звонить в банк,
// ему ответит прекрасная незнакомка,
// вскоре они отменят транзакцию,
// поженятся и будут жить долго и счастливо.
В этом произведении автор рассказывает нам потрясающую историю любви. Столь короткий рассказ вмещает в себя глубокий скрытый смысл. Внимательный читатель может увидеть здесь назидательную историю о значимости ошибок Человечества и непостижимость причинно-следственных связей. Казалось бы, слабая типизация, что с неё взять? Но из-за небрежности программиста страдают зажиточные горожане, имеющие более одного счёта в банке. И на этом всё могло бы кончиться, но по воле Высших Сил главный герой произведения находит свою любовь. Прочитав данное произведение, каждый сразу же осознает мораль: Человек делает ошибки, а Человек-Программист получает за них деньги и почёт.
> Что с тобой. десятый?
Немного кода на JS и фантазии.
Кстати, а зачем он раскидывает элементы древа по уровням (l0, l1 и l2)?
что это, билять?
// А клиент вечером будет звонить в банк,
// ему ответит прекрасная незнакомка,
// вскоре они отменят транзакцию,
// поженятся и будут жить долго и счастливо.
Что с тобой. десятый?
> Что с тобой. десятый?
Немного кода на JS и фантазии.
Видит children: children, children!
Сунул children children в children,
Children children children children.