NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    Java Javascript 배열에서 항목 삭제하기.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. C#이나 Java에서 배열을 삭제하려면 RemoveAt, remove을 사용할텐데요.

    String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};
    // C#
    weeks.RemoveAt(2);
    // Java
    weeks.remove(2);
    // result: 월, 화, 목, 금, 토, 일

     

    Javascript는 splice를 사용합니다. 첫번째 인자는 인덱스고, 두번째 인자는 삭제할 갯수입니다.

    String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};
    weeks.splice(2, 1);
    // result: 월, 화, 목, 금, 토, 일

     

    참고로, pop, shift, delete와 같은 함수를 사용할 수 있습니다. pop는 배열의 가장 뒤에서부터 삭제합니다. 삭제 전 항목을 반환해줍니다.

    String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};
    const result = weeks.pop();
    // result: 일

     

    shift는 배열에서 가장 앞에서부터 삭제합니다.

    String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};
    const result = weeks.shift();
    // result: 월

     

    delete는 자바스크립트의 함수가 아닌 연산자입니다. 따라서, 사용법도 다릅니다.

    String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};
    const result = delete weeks[2];
    // result: true

     

    delete는 배열에서 2번째 인덱스를 삭제하지만, 공간은 남겨둡니다. 따라서, 다음에 2번째 인덱스를 접근하면 ""을 반환할거 같지만 실은 undefined를 반환합니다. 이외에도 여러가지 제약 사항들이 있습니다. var로 선언된 개체 속성이 글로벌 스콥에 정의되어 있으면 삭제가 불가능합니다. 또한, let이나 const로 선언된 속성도 삭제가 안됩니다. 이외에도 delete를 사용함에 있어서 제약들이 있기 때문에 가급적이면 사용하지 않는게 좋습니다.

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.