Классическая задача: как поменять значения двух переменных, не используя третью переменную?

Типичная олимпиадная задачка, однако решение весьма изящное.

var a = 1;
var b = 2;
[a,b] = [b,a];

2 комментариев

  1. Не столь изящное, но также удовлетворяющее условиям задачи решение:
    var a = 1;

    var b = 2;

    a = a + b;

    b = a — b;

    a = a — b;

    console.log(‘a: ‘, a);

    console.log(‘b: ‘, b);

    Ответить
    • Такое решение в большинстве случаев будет работать. Но, что вы скажете, если var a = 0.2; var b = 0.1;? Да-да, могут попасться и эти 2 числа, показывающие все прелести математики в javascript.
      В результате получится a: 0.1 и b: 0.20000000000000004

      Ответить

Оставить комментарий