Задать вопрос
@Igorek98

Почему при сортировке 1 меньше, чем true?

Есть массив [2,5,1,true]
Мы его сортируем через sort return a - b;
Получаем [1,true,2,5]
Почему true после 1?
  • Вопрос задан
  • 111 просмотров
Подписаться 2 Простой 1 комментарий
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
При приведении типов (во время операции вычитания) true приводится к 1. Эти два значения равны, и в результирующем массиве они следуют в том же порядке. что и в исходном. Можете проверить, поменяв true и 1 местами.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@galaxy
Они равны (в том смысле, что 1-true == 0 и true-1 == 0).
Сортировка в JS, вообще говоря, не stable, так что в отсортированном массиве они могут идти в любом порядке.

[2,5,true,1].sort((a,b) => a-b)
// [true, 1, 2, 5]
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект