@kirick29
Люблю программировать

Правильный ли у меня здесь код?

let rank = allUsers.sort((a, b) => (b.cash - a.cash) + (b.bank - a.bank)).findIndex(e => e.user_id === target.id) + 1

мне нужно найти индекс пользователя в этом отсортированном массиве пользователей БД.Подскажите,можно ли как нибудь сделать этот код короче?
  • Вопрос задан
  • 112 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Короче делать смысла нет, а быстрее можно.
const targetUser = allUsers
  .find(user => user.user_id == target.id)
const targetUserMoney = targetUser.cash + targetUser.bank
let rank = 1;
for (let i = 0; i < allUsers.length; i += 1) {
  if (allUsers[i].cash + allUsers[i].bank > targetUserMoney) {
    rank += 1;
  }
{
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы