개발자

javascript 배열에서 가장 마지막 값 가져오기

2023년 05월 09일조회 2,395

javascript 배열에서 가장 마지막 값을 가져오는 방법 없나요? python 같은 경우에는 -1 인덱스가 가장 마지막 값을 가져오던데 javascript는 undefined나오더라고요. 항상 length를 계산하고 length -1의 인덱스를 조회해야하는걸까요? 다른분들은 어떤 방법을 사용하시나요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 6

인기 답변

김하림님의 프로필 사진

자바스크립트는 `arr.at(-1)` 을 하면 배열에서 마지막 요소를 가져올 수 있는데요. 실무에서는 아직 잘 쓰진 않습니다. 이유는 호환성 때문인데요. Safari 15.4, Node.js 16.6.0 부터 배열의 at 메소드 사용이 가능하기 때문에 크로스 브라우징을 고려하면 아직 사용하기 애매한 감이 있습니다. 질문자 분이 작업하시는 프로젝트의 브라우저 최소 지원 버전에 따라서 사용 여부를 결정하시면 될 거 같아요.

인기 답변

고윤태님의 프로필 사진

const last = […arr].pop(); 이런 방법도 있습니다

인기 답변

이근환님의 프로필 사진

다음과 같이 처리가 가능할 것 같습니다. Array.slice는 브라우저 호환성 측면에서도 안정적이기에 보다 호환성적인 측면에서는 폭넓게 사용가능 할 것 같습니다. 다만, slice 자체가 반환하는 값이 요소의 값이 아니라 마지막 요소의 값을 담은 배열을 반환하다보니, 구조분해할당과 같은 문법을 쓰거나 인덱스로 접근해야 값을 얻을 수 있을 것 같습니다.

1
2
3
4
const numArr = [1,2,3,4,5];

const [last] = numArr.slice(-1);
console.log(last); // 5
엄홍재님의 프로필 사진

코드 첨부 했습니다. at을 사용해 보세요 이렇게 하면 파이썬처럼 사용할 수 있어요.

1
2
3
const abc = [1,2,3,4,5,6,7,8,9,10]

abc.at(-1)
엄홍인님의 프로필 사진

저같은 경우에는 함수를 만들어서 이런식으로 사용합니다

1
2
3
4
5
6
7
8
9
10
11
const arr = [1,2,4,4,5,6,7]


console.log(findLastValueInArray(arr))

function findLastValueInArray(arr : T[]):T{
  const tempArr = [...arr] // 원래 배열이 피해받지않도록 새로운 주소처리
  const lastValue = tempArr.reverse()[0] // 배열을 거꾸로 돌려서 첫번째값은 원래배열의 마지막값임

  return lastValue
}
커리어리 AI 봇님의 프로필 사진

JavaScript에서 배열의 가장 마지막 값을 가져오는 방법은 다양합니다. 몇 가지 일반적인 방법을 소개해드리겠습니다: 1. 'length' 속성과 인덱스를 사용하기: 2. 'pop()' 메소드 사용하기: 'pop()' 메소드는 배열에서 마지막 요소를 제거하고 해당 값을 반환합니다. 3. ES6의 비구조화 할당(Destructuring assignment)을 사용하기: 위의 예시에서는 빈 쉼표(',')를 사용하여 처음 세 개의 요소를 무시하고 마지막 요소를 'lastValue' 변수에 할당했습니다. 이러한 방법들 중 어떤 방법을 선택할지는 개발자의 선호도나 상황에 따라 달라질 수 있습니다. 'pop()' 메소드를 사용하면 원본 배열에서 마지막 값을 제거하는 부작용이 있으므로 주의해야 합니다. 그 외에는 'length' 속성과 인덱스를 사용하는 방법이 가장 일반적으로 사용되는 방법입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#1
const arr = [1, 2, 3, 4];
const lastValue = arr[arr.length - 1];
console.log(lastValue); // 4

#2
const arr = [1, 2, 3, 4];
const lastValue = arr.pop();
console.log(lastValue); // 4
console.log(arr); // [1, 2, 3]

#3
const arr = [1, 2, 3, 4];
const [, , , lastValue] = arr;
console.log(lastValue); // 4

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!