version: "3"
services:
www:
build:
context: ./
dockerfile: ./apache/Dockerfile
restart: always
...
const categories = [
{ id: 1, name: 'name 1', parent: null },
{ id: 2, name: 'name 2', parent: 1 },
{ id: 3, name: 'name 3', parent: 6 },
{ id: 4, name: 'name 4', parent: 5 },
{ id: 5, name: 'name 5', parent: 6 },
{ id: 6, name: 'name 6', parent: null },
{ id: 7, name: 'name 7', parent: null }
];
function buildTree(items, parent) {
parent = parent || null;
let result = [];
items.forEach((item) => {
if (item.parent === parent) {
result.push(item);
item.children = buildTree(items, item.id);
if (!item.children.length) {
delete item.children;
}
}
});
return result;
}
// todo: не обходить уже добавленные
console.log(buildTree(categories));
У нас есть 7 готовых "наборов" данных, которые мы готовы предоставлять. Так же вы можете собрать собственный набор из любых 4 типов данных.
А = основные факты + рейтинг
B = основные факты + рейтинг + рецензии
C = основные факты + рейтинг + расписание
D = основные факты + рейтинг + синопсис
E = рейтинг
F = расширенные факты + рейтинг
J = собственный набор из любых N типов данных к фильму
где
основные факты = название (ru) | оригинальное название | год | страна (все) | режиссер | жанр (все) | актеры | время (хрономтераж) | возраст (ограничения в ru)
расширенные факты = основные факты + слоган | сценарист | продюсер | оператор | композитор | монтаж | премьера (мир) | премьера (по гео пользователя) | актеры (ТОП-N?) | синопсис | постер
А если сделать ввод тегов как на Тостере, то будет вообще шикарно )) Что посоветуете?
function add(x) {
return function(y) {
return x + y;
};
}
function sum(a) {
return function(b) {
if (b) {
return sum(add(a)(b));
} else {
return a;
}
};
}
sum(1)(2)(3)(4)(5)() === 15
function cons(x) {
return function(y) {
return [x, y];
};
}
function list(a) {
return function(b) {
if (b) {
return list(cons(a)(b));
} else {
return a;
}
};
}
list(1)(2)(3)(4)(5)() === [[[[1, 2], 3], 4], 5]
function cons(x) {
return function(y) {
return [x, y];
};
}
function list(a) {
return function(b) {
if (typeof b !== 'undefined') {
if (a instanceof Array) {
return list(cons(b)(a));
} else {
return list(cons(b)(cons(a)('NIL')));
}
} else {
return a;
}
};
}
list(1)(2)(0)(4)(5)() === [5,[4,[0,[2,[1,"NIL"]]]]]