Skip to content

Instantly share code, notes, and snippets.

View oleggrishechkin's full-sized avatar

Oleg Grishechkin oleggrishechkin

View GitHub Profile

шаблон

// написать функцию, которая преобразует kebab-case в camelCase

const camelize = (string) => {
  // код
};

console.log(camelize('my-long-word')); // myLongWord

шаблон

// написать функцию-промисификацию для setTimeout

const promisedTimeout = (timeout) => {
  // код
};

promisedTimeout(1000).then(() => {

шаблон

// написать функцию, которая считает факториал числа (необходиом использовать рекурсию)

const factorial = (n) => {
  // код
};

console.log(factorial(0)); // 1

шаблон

// написать функцию поверхностного сравнения объектов

const shallowEqual = (object1, object2) => {
  // код
};

console.log(shallowEqual({ title: 'value' }, { title: 'value' })); // true

шаблон

// написать функцию, которая преобразует массив объектов в объект ключ-значение использую заданный id в качестве ключа

const normalize = (array, id) => {
  //код
};

const arr = [{ id: 1, title: 'object1' }, { id: 2, title: 'object2' }];

шаблон

// написать функцию, которая ждет промисы последовательно и возвращает промис с результатом всех промисов

const promiseChain = (promises: Promise<any>[]): Promise<any[]> => {
  // код
};

const results = promiseChain([fetch('url1'), fetch('url2')]);

шаблон

// написать фунцию, которая возвращает значение св-ва объекта по заданному пути

const getProp = (object, path) => {
  // код
};

const obj = {

шаблон

// написать функцию для каррирования

const curry = (func) => {
  // код
};

const sum = (a, b, c) =&gt; a + b + c;
const colorToRGBA = (colorString, alpha) => {
if (colorString.startsWith('rgb(')) {
const rgb = colorString
.slice(4, colorString.length - 1)
.split(',')
.map((item) => +item.trim());
return `rgba(${rgb[0]}, ${rgb[1]}, ${rgb[2]}, ${alpha})`;
}
const colorToRGB = (colorString) => {
if (colorString.startsWith('rgba(')) {
const rgba = colorString
.slice(5, colorString.length - 1)
.split(',')
.map((item) => +item.trim());
const background = [255, 255, 255];
const rgb = [
Math.round((rgba[3] * (rgba[0] / 255) + (1 - rgba[3]) * (background[0] / 255)) * 255),
Math.round((rgba[3] * (rgba[1] / 255) + (1 - rgba[3]) * (background[1] / 255)) * 255),