@yavaskript

Как свапнуть две переменные без третьей, если их значения — массивы?

Есть ли в Javascript возможность переназначить значения двух переменных друг на друга без использования третьей? При том, что это два массива? Например, из
a = [1, 2, 8, 3]
b = [2, 9, 0]

сделать
a = [2, 9, 0]
b = [1, 2, 8, 3]
  • Вопрос задан
  • 271 просмотр
Решения вопроса 1
FFxSquall
@FFxSquall
Могу писать код, могу не писать
[a, b] = [b, a]
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
0xD34F
@0xD34F Куратор тега JavaScript
Почему именно массивы? Имеется в виду, что на самом деле надо обменять не значения собственно переменных, а содержимое массивов, ссылки на которые лежат в переменных? Т.е.

a = [ 1, 2, 3 ];
b = [ 4, 5, 6 ];
c = a;

// здесь должен быть какой-то код

console.log(a); // [ 4, 5, 6 ]
console.log(b); // [ 1, 2, 3 ]
console.log(a === c); // true

??

Можно так:

b.splice(0, b.length, ...a.splice(0, a.length, ...b));
Ответ написан
Lynn
@Lynn
nginx, js, css
Так можно? =)
a.b = b;
b = a;
a = a.b;
delete(b.b);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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