Я хочу поменять два массива внутри 2D-массива, однако JS, кажется, делает это до того, как произойдет мой фактический обмен.
Это алгоритм, над которым я работаю, предоставляя каждый возможный способотобразить список точек.Я попробовал несколько способов сделать это, но ключевая проблема продолжает возвращаться, и мне удалось обрезать ее до этого кода:
var points = [[1,2],[10,20],[100,200]];
console.log(points);
var a = points[1][0];
var b = points[1][1];
points[1][0] = points[2][0];
points[1][1] = points[2][1];
points[2][0] = a;
points[2][1] = b;
console.log(points);
Я знаю, что этот код не является СУХИМЫМ, но имеет ту же проблему: «точки» записываются на консоль в строке после объявления, хотяв этом журнале он уже поменялся местами?Как это возможно, так как еще не было команд, говорящих об этом.Как JavaScript обрабатывает этот мир кода?И почему мой не работает?
** Ожидаемый вывод для первого журнала: [[1,2], [10,20], [100,200]] ** и длявторой журнал: [[1,2], [100,200], [10,20]]
Отрезанный StackOverFlow запускает его, как и ожидалось, но Chrome запускает его по-другому