JavaScript에서 배열 요소 바꾸기

Anika Tabassum Era 2024년2월15일
  1. 임시 변수를 사용하여 JavaScript에서 배열 요소 교체
  2. ES6 소멸자 할당을 사용하여 JavaScript에서 배열 요소 교체
  3. Bitwise XOR 및 배열 반복을 사용하여 JavaScript에서 배열 요소 교체
JavaScript에서 배열 요소 바꾸기

두 요소를 교환하는 전통적인 방법은 temp 변수를 사용하는 것입니다. JavaScript의 경우 기본적으로 배열 개체로 설정된 변수에 배열 개체를 쉽게 재할당하고 스왑을 위해 두 배열의 요소를 전송하는 프로세스를 추가로 수행할 수 있습니다.

다시 말하지만, ES6 컨벤션은 일반 변수와 객체를 보다 효율적으로 교환할 수 있게 해주었습니다. 또 다른 방법은 배열 요소를 통해 루프를 사용하고 이를 교환하여 인덱스를 읽는 또 다른 전통적인 방법을 사용하는 것입니다.

이 방법은 시간이 너무 오래 걸리고 몇 줄의 추가 코드를 고려해야 합니다.

여기에서 스왑 작업을 보다 유연하게 만드는 모든 바람직한 예를 볼 수 있습니다. 코드베이스에 들어가 봅시다!

임시 변수를 사용하여 JavaScript에서 배열 요소 교체

다음 예에서는 해당 요소가 있는 두 개의 배열을 사용합니다. 여기서 우리의 목표는 새로운 변수를 할당하고 거기에 배열 중 하나를 전송하는 것입니다.

그런 다음 내용을 변수로 방금 이동한 배열에 다른 배열을 다시 할당합니다. 마지막으로 변수 내용을 선택한 마지막 배열로 이동합니다.

배열 요소의 임시 변수 전환을 위한 기본 동작입니다.

코드 조각:

var x = [1, 2, 3];
var y = [4, 5, 6];
var a;
a = x;
x = y
y = a;
console.log(x)
console.log(y)

출력:

임시 변수를 사용하여 배열 요소 교체

보시다시피 x에는 [1,2,3]이 있고 y에는 [4,5,6]이 있습니다. 스와핑이 시작되면 변수 ax의 요소를 취하고 xy의 요소를 받습니다.

마지막 단계에서 ya의 내용을 추가합니다. 결과는 교환된 결과를 유추합니다.

ES6 소멸자 할당을 사용하여 JavaScript에서 배열 요소 교체

ES6 소멸자 할당은 두 개의 배열을 더 쉽게 교체하며 한 줄의 코드만 필요합니다. 배열을 대괄호 안에 할당하고 오른쪽을 반전 형식으로 설정하기만 하면 됩니다.

소멸자 할당을 설정하는 패턴은 자세히 보면 쉽습니다.

코드 조각:

var x = [1, 3, 5];
var y = [2, 4, 6];
[x, y] = [y, x]
console.log(x)
console.log(y)

출력:

ES6 소멸자 할당을 사용하여 배열 요소 교체

Bitwise XOR 및 배열 반복을 사용하여 JavaScript에서 배열 요소 교체

위에서 언급한 두 가지 규칙 외에도 배열 요소를 교환하는 여러 가지 방법이 있습니다. 빼기 방법, 비트 XOR 연산 또는 배열에 대한 반복을 적용하여 임시 변수 규칙을 사용하여 교체할 수 있습니다.

여기에서는 두 배열의 요소를 교환하기 위해 XOR 연산을 계산했습니다.

코드 조각:

var x = [7, 42, 7];
var y = [4, 5, 6];
if (x.length == y.length) {
  for (var i = 0; i < x.length; i++) {
    x[i] = x[i] ^ y[i]
    y[i] = x[i] ^ y[i]
    x[i] = x[i] ^ y[i]
  }
}
console.log(x)
console.log(y)

출력:

비트 XOR 및 배열 반복을 사용하여 배열 요소 교체

x[0] = 7y[0] = 4의 예를 살펴보겠습니다. 7^4를 수행할 때 7에 해당하는 비트 패턴은 111이고 4100입니다.

첫 번째 XOR 다음에 011이 표시되고 x[0]으로 저장됩니다. 다음 XOR의 경우 x[0] = 3 (011)y[0] = 100이 있으므로 이 경우 결과는 y[0]에 저장됩니다. 111 = 7.

그리고 x[0]에서 111^011 = 100 (4)를 얻습니다. 따라서 xy 배열의 첫 번째 요소가 교체되고 인덱스된 각 요소에 대해 이 반복을 반복할 수 있습니다.

Anika Tabassum Era avatar Anika Tabassum Era avatar

Era is an observer who loves cracking the ambiguos barriers. An AI enthusiast to help others with the drive and develop a stronger community.

LinkedIn Facebook

관련 문장 - JavaScript Array