자바스크립트 배열 삭제 문의 드립니다.

자바스크립트 배열 삭제 문의 드립니다.

QA

자바스크립트 배열 삭제 문의 드립니다.

본문


var arr = "|사과|배|바나나|포도|자동차|비행기|";

 

이중에 자동차, 비행기를 삭제할려고 하는되요!

배열 항목으로 삭제 문의 드립니다.

 

배열내용은 순번이 바껴서 순번으로 제외 처리하는 pop() ...

방법이 있는데, 항목으로 삭제하는 방법 조언 구합니다.

 

감사합니다.

 

 

 

이 질문에 댓글 쓰기 :

답변 2

안녕하세요?

 

자바스크립트에서 배열의 요소를 삭제하는 방법으로는 .pop(), .shift(), .splice()가 있으나,

 

파이썬처럼 직접적으로 배열의 값을 이용하여 arr.remove('비행기')와 같이 삭제할 수는 없습니다 ㅠㅠ

 

 

배열의 값을 이용하여 요소 1개를 삭제하는 방법은 다음과 같습니다.

 


let arr = ['사과', '배', '바나나', '포도', '자동차', '비행기'];
const idx = arr.indexOf('바나나');
if (idx > -1) arr.splice(idx, 1);

 

 

한편 복수의 요소를 삭제하는 방법은 여러 방법이 가능하겠지만 다음의 방법이 심플하겠네요 ^^

 


let arr = ['사과', '배', '바나나', '포도', '자동차', '비행기'];
let valuesToRemove = ['배', '포도'];
arr = arr.filter((i) => (valuesToRemove.indexOf(i) === -1));

 

 

참고로 underscore.js를 활용하면 다음과 같이 간단히 삭제를 할 수 있어요 ^^

 

아래 values에 여러 값을 넣는 것이 가능해요!

 


let arr = ['사과', '배', '바나나', '포도', '자동차', '비행기'];
_.without(arr, *values);

 

 

그럼 좋은 저녁 되세요 ^-^

 

지금 구문은 자바 스크립트 배열이 아닙니다. https://gent.tistory.com/294

 

var arr = ['사과', '배', '바나나', '포도', '자동차', '비행기']; 

일 때, '자동차'와 '비행기'를 삭제하는 방법은

 

for (var i = 0; i < arr.length; i++) {
  if (arr[i] == '자동차' || arr[i] == '비행기')
    arr.splice(i, 1);
}

 

입니다.

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 947
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT