@pacan4ik

Как работает оператор ^ в reduce?

Есть функция, но я не могу найти примеры работы ^ и его описание, как он работает в данном случае и вообще?
const stray = nums => nums.reduce((a, b) => a ^ b);
  • Вопрос задан
  • 135 просмотров
Решения вопроса 2
Seasle
@Seasle Куратор тега JavaScript
\( ゚ヮ゚)/
^ - это операция XOR. XOR вернёт единицу в том случае, если один из операндов (битов) 1 а другой 0. Таким образом, к примеру, 3 ^ 5 вернет 6 потому, что 0b011 ^ 0b101 (для простоты, биты будем считать слева направо):
Первый бит: 0 ^ 1 = 1.
Второй бит: 1 ^ 0 = 1.
Третий бит: 1 ^ 1 = 0.
Вместе: 0b110 = 6.
Ну а функция будет на каждом шаге использовать значение из предыдущей операции. Также, первая итерация будет следующая: undefined ^ N или 0 ^ N, что вернёт нам само число.
Ответ написан
black1277
@black1277
Вольный стрелок
Побитовая операция исключающего или XOR Битовая логика в таблице по ссылке.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
AgentSmith
@AgentSmith
agent
это XOR
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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