Senior Front - канал для front-end программистов, здесь есть много всего про CSS3, Javascript, Html5, Angular, React, видео / статьи / курсы
Node:
value: <int>,
left: <Node> or null,
right: <Node> or null
Создайте функцию, которая просуммирует все ноды дерева, включая корневой элемент.
Примеры:
10
| \
1 2
=> 13
1
| \
0 0
\
2
=> 3
👉 @seniorFront function getFullName(
this: { name: string; surname: string },
inUpperCase = false
): string {
const fullName = `${this.name} ${this.surname}`;
return inUpperCase ? fullName.toUpperCase() : fullName;
}
let account = {
name: "Ihor",
surname: "Nepipenko",
getFullName
};
account.getFullName();
Таким образом, для того, чтобы использовать данную функцию, в контексте объекта должны присутствовать name и surname, иначе TS выбросит ошибку.
👉 @seniorFront const composePromises = (...promiseFabrics) => (
promiseFabrics.reduce((f, g) => value => g(value).then(f))
);
const minusOne = n => Promise.resolve(n - 1);
const addTwo = n => Promise.resolve(n + 2);
const multipleTwo = n => Promise.resolve(n * 2);
const calculate = composePromises(minusOne, addTwo, multipleTwo);
calculate(2).then(console.log); // 5
Интересно, что в отличие от синхронного варианта композиции, composePromises не возвращает функцию, которая возвращает результат редьюсера. Вместо этого, сразу возвращается результат работы редьюсера. Магия в том, что этот редьюсер возвращает функцию, а не переменную.