본문 바로가기
JavaScript/메소드

[javascript] pop(), unshift(), reverse(), 배열 뒤집기

by Angry Stock 2023. 9. 1.
반응형
pop() 메서드는 배열에서 마지막요소를 제거하고 그 요소를 반환합니다.
const plants = ['broccoli', 'cauliflower', 'cabbage', 'kale', 'tomato'];

console.log(plants.pop());
// Expected output: "tomato"

console.log(plants);
// Expected output: Array ["broccoli", "cauliflower", "cabbage", "kale"]

plants.pop();

console.log(plants);
// Expected output: Array ["broccoli", "cauliflower", "cabbage"]
unshift() 메서드는 새로운 요소를 배열의 맨 앞쪽에 추가하고, 새로운 길이를 반환합니다.
const array1 = [1, 2, 3];

console.log(array1.unshift(4, 5));
// Expected output: 5

console.log(array1);
// Expected output: Array [4, 5, 1, 2, 3]
reverse() 메서드는 배열의 순서를 반전합니다. 첫 번째 요소는 마지막 요소가 되며 마지막 요소는 첫 번째 요소가 됩니다.
const array1 = ['one', 'two', 'three'];
console.log('array1:', array1);
// Expected output: "array1:" Array ["one", "two", "three"]

const reversed = array1.reverse();
console.log('reversed:', reversed);
// Expected output: "reversed:" Array ["three", "two", "one"]

// Careful: reverse is destructive -- it changes the original array.
console.log('array1:', array1);
// Expected output: "array1:" Array ["three", "two", "one"]
연습
function solution1(arr) {
  let answer = [];
  let copy = [...arr];
  while (copy.length) {
    answer.push(copy.pop());
  }
  return answer;
}

function solution2(arr) {
  let answer = [];
  let copy = [...arr];
  copy.map((e) => {
    answer.unshift(e);
  });
  return answer;
}

function solution3(arr) {
  let copy = [...arr];
  return copy.reverse();
}

let array = [
  [2, 8, 11, 25, 32, 36],
  [5, 7, 15, 21, 22, 40],
  [1, 7, 9, 33, 35, 40],
];

for (let i = 0; i < array.length; i++) {
  console.log('solution1', solution1(array[i]));
  console.log('solution2', solution2(array[i]));
  console.log('solution3', solution3(array[i]));
}
결과

반응형

댓글