Skip to content

Instantly share code, notes, and snippets.

@andreystarkov
Last active May 4, 2023 09:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andreystarkov/a0c909687900d3c95dafbe45709b845a to your computer and use it in GitHub Desktop.
Save andreystarkov/a0c909687900d3c95dafbe45709b845a to your computer and use it in GitHub Desktop.
const data = [
{
name: 'Когда торгуете людьми, много херни с вами может произойти',
tags: ['one', 'two', 'three', 'four', 'five', 'six', 'seven'],
percentage: {
from: 80,
to: 73
}
},
{
name: 'Когда торгуете мимо ментов, ссученный Лёлик как раз про вас',
tags: ['one', 'three', 'four', 'nine', 'six'],
percentage: {
from: 11,
to: 23
}
},
{
name: 'Допить свой кофе, выйти в сквер, замусолить Лёлика, уйти',
tags: ['four', 'five', 'six', 'seven', 'ten'],
percentage: {
from: 33,
to: 79
}
},
{
name: 'Такой вот план, торговля людьми приучает к надежде и ясности',
tags: ['one', 'seven', 'ten'],
percentage: {
from: 13,
to: 44
},
},
{
name: 'Мышление системное, завещание у нотариуса, кофе душистый',
tags: ['eight', 'four'],
percentage: {
from: 62,
to: 11
}
},
{
name: 'Семья за границей, бабло рассовано, есть только я и неприятности',
tags: ['eight', 'four'],
percentage: {
from: 62,
to: 11
}
},
{
name: 'Только я и неприятности, а че тут делать? Бизнес не пушистый',
tags: ['eight', 'four'],
percentage: {
from: 62,
to: 11
}
},
]
// 1. Типизировать массив data и все аргументы функций ниже
// 2. Результатом должен быть новый массив с средним арифметическим между from и to в качестве нового поля
const withPercentageAverages = arr => {
}
// пример результата:
// [
// ...
// {
// name: 'Допить свой кофе, выйти в сквер, замусолить Лёлика, уйти',
// tags: ['four', 'five', 'six', 'seven', 'ten'],
// percentage: {
// from: 33,
// to: 79,
// average: ...
// }
// }
// ]
//
// 3. Посчитать сумму всех average их вывода функции выше, результат - 1 число
const averagesSum = arr => {
const withAverages = withPercentageAverages(arr)
// ...
}
// 4. результатом должен быть массив всех тегов используемых в объектах исключая дубликаты
const collectAllTags = arr => {
}
// пример результата:
// ['one', 'two', 'three', 'four', ...]
// 5. реализовать поиск по name вне зависимости от буквенного регистра
// если используется пробел, осуществлять поиск по буквам каждого слова,
// возвращается объект сущности, которая попадает под паттерн
const searchByPhrase = (arr, searchPhrase) => {
}
// пример результата: вводим "до ко", получаем обьект:
// {
// name: 'Допить свой кофе, выйти в сквер, замусолить Лёлика, уйти',
// tags: ['four', 'five', 'six', 'seven', 'ten'],
// percentage: {
// from: 33,
// to: 79
// }
// }
//
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment