CodeRecipe: JavaScript에서 배열을 뒤집는 방법



다음은 배열 요소의 순서를 반대로 해야 하는 경우 사용할 수 있는 코드 레시피입니다. 배열 메서드 "reverse()"를 사용할 수 있습니다. ⏪

#CodeRecipes라는 새 세그먼트를 시도합니다. 내가 자주 구글링하는 질문을 다루고 싶다. "만약"을 사용하는 것이 아니라 "언제"를 사용하느냐가 중요하기 때문에 반드시 보관해야 하는 레시피입니다 😉

const benjamin = ['👶','👦', '👨', '👴'];

const benjaminButton = benjamin.reverse();

console.log(benjaminButton);
// ['👴', '👨', '👦', '👶']

원본 어레이 수정



한 가지 주목해야 할 점은 원래 배열을 변경한다는 것입니다.

const originalArray = ['a', 'b', 'c'];
const newArray = originalArray.reverse();

console.log(originalArray); // [ 'c', 'b', 'a' ]
console.log(newArray); // [ 'c', 'b', 'a' ]

원래 배열을 변경하지 않고 배열을 뒤집는 방법



다음은 원래 배열을 변경하지 않는 몇 가지 레시피입니다. 살펴보자👀

슬라이스 및 리버스 사용



const originalArray = ['a', 'b', 'c'];
const newArray = originalArray.slice().reverse();

console.log(originalArray); // ['a', 'b', 'c']
console.log(newArray); // [ 'c', 'b', 'a' ]

확산 및 반전 사용



const originalArray = ['a', 'b', 'c'];
const newArray = [...originalArray].reverse();

console.log(originalArray); // ['a', 'b', 'c']
console.log(newArray); // [ 'c', 'b', 'a' ]

축소 및 확산 사용



const originalArray = ['a', 'b', 'c'];
const newArray = originalArray.reduce((accumulator, value) => {
  return [value, ...accumulator]
}, []);

console.log(originalArray); // ['a', 'b', 'c']
console.log(newArray); // [ 'c', 'b', 'a' ]

reduceRight 및 스프레드 사용



const originalArray = ['a', 'b', 'c'];
const newArray = originalArray.reduceRight((accumulator, value) => {
  console.log(value);
  return [...accumulator, value]
}, []);

console.log(originalArray); // ['a', 'b', 'c']
console.log(newArray); // [ 'c', 'b', 'a' ]

또는 사용push
const originalArray = ['a', 'b', 'c'];
const newArray = originalArray.reduceRight((accumulator, value) => {
  accumulator.push(value);
  return accumulator;
}, []);

console.log(originalArray); // ['a', 'b', 'c']
console.log(newArray); // [ 'c', 'b', 'a' ]

커뮤니티 입력



: 나는 이것을 다른 생각으로 테스트하기로 했다. 결과는 다음과 같습니다.

with slice and reverse: 83.085ms
With one loop: 309.763ms

소스 코드 및 테스트를 사용할 수 있습니다here.

자원


  • MDN Web Docs: reverse
  • w3schools: reverse
  • Stack Overflow: Reverse array in Javascript without mutating original array



  • 읽어주셔서 감사합니다 ❤
    안녕하세요! | | Facebook | Blog | SamanthaMing.com

    좋은 웹페이지 즐겨찾기