Подскажите, как лучше организовать поиск сотрудников, если их больше 2000, делать один запрос к API и получать сразу всех из БД(mysql) и среди них искать нужного или каждый раз делать поиск конкретного пользователя?
const employees = [
{
"id": 1,
"name": "Leanne Graham",
"username": "Bret",
"email": "Sincere@april.biz",
"address": {
"street": "Kulas Light",
"suite": "Apt. 556",
"city": "Gwenborough",
"zipcode": "92998-3874",
"geo": {
"lat": "-37.3159",
"lng": "81.1496"
}
},
"phone": "1-770-736-8031 x56442",
"website": "hildegard.org",
"company": {
"name": "Romaguera-Crona",
"catchPhrase": "Multi-layered client-server neural-net",
"bs": "harness real-time e-markets"
}
},
{
"id": 2,
"name": "Ervin Howell",
"username": "Antonette",
"email": "Shanna@melissa.tv",
"address": {
"street": "Victor Plains",
"suite": "Suite 879",
"city": "Wisokyburgh",
"zipcode": "90566-7771",
"geo": {
"lat": "-43.9509",
"lng": "-34.4618"
}
},
"phone": "010-692-6593 x09125",
"website": "anastasia.net",
"company": {
"name": "Deckow-Crist",
"catchPhrase": "Proactive didactic contingency",
"bs": "synergize scalable supply-chains"
}
},
]
const employee = employees.find(emp => emp.id === 2);
const lastBusinessWeekStart = subBusinessDays(new Date(), 7);
const lastBusinessMonthStart = subBusinessDays(new Date(), 30);
// фильтр неделя:
test.filter(({ date }) => isWithinInterval(
new Date(date),
{ start: lastBusinessWeekStart, end: new Date() }
));
//фильтр месяц:
test.filter(({ date }) => isWithinInterval(
new Date(date),
{ start: lastBusinessMonthStart, end: new Date() }
));
function encode(text, openAlph, secureAlph) {
let result = ""
text = text.split("") //превращаем строку в массив
text.forEach(char => { //бежим по массиву
let upper = false
if(char != char.toLowerCase()){ //превращаем в строчную и запоминаем
upper = true
char = char.toLowerCase()
}
if(char.match(/^[A-Za-z]$/)){
let oIndex = openAlph.indexOf(char) //индекс в открытом алфавите алфавите
if( oIndex == -1){ //если индекс не нашелся
throw new Error('Не найден символ "'+char+'" в открытом алфавите');
}
if( !secureAlph[oIndex] ){
throw new Error('Не найден индекс "'+oIndex+'" в закрытом алфавите');
}
char = secureAlph[oIndex] //по индексу берем букву в закрытом алфавите
}
if(upper){
char = char.toUpperCase()
}
result += char
});
return result;
}
sign = Math.sign(number)
abs = Math.abs(number)
for (let i = 0; i <= abs; i += 3) {
three.push(i * sign)
}
for (let i = 0; i <= abs; i += 5) {
five.push(i * sign)
}
const step3 = number < 0 ? -3 : 3
const three = Array.from(Array(Math.floor(number / step3) + 1), (_, x) => x * step3)
const step5 = number < 0 ? -5 : 5
const five = Array.from(Array(Math.floor(number / step5) + 1), (_, x) => x * step5)