답변 2개
채택된 답변
+20 포인트
Innisfree
4년 전
안녕하세요?
자바스크립트에서 배열의 요소를 삭제하는 방법으로는 .pop(), .shift(), .splice()가 있으나,
파이썬처럼 직접적으로 배열의 값을 이용하여 arr.remove('비행기')와 같이 삭제할 수는 없습니다 ㅠㅠ
배열의 값을 이용하여 요소 1개를 삭제하는 방법은 다음과 같습니다.
Copy
let arr = ['사과', '배', '바나나', '포도', '자동차', '비행기'];
const idx = arr.indexOf('바나나');
if (idx > -1) arr.splice(idx, 1);
한편 복수의 요소를 삭제하는 방법은 여러 방법이 가능하겠지만 다음의 방법이 심플하겠네요 ^^
Copy
let arr = ['사과', '배', '바나나', '포도', '자동차', '비행기'];
let valuesToRemove = ['배', '포도'];
arr = arr.filter((i) => (valuesToRemove.indexOf(i) === -1));
참고로 underscore.js를 활용하면 다음과 같이 간단히 삭제를 할 수 있어요 ^^
아래 values에 여러 값을 넣는 것이 가능해요!
Copy
let arr = ['사과', '배', '바나나', '포도', '자동차', '비행기'];
_.without(arr, *values);
그럼 좋은 저녁 되세요 ^-^
마르스컴퍼니
4년 전
지금 구문은 자바 스크립트 배열이 아닙니다. https://gent.tistory.com/294
var arr = ['사과', '배', '바나나', '포도', '자동차', '비행기'];
일 때, '자동차'와 '비행기'를 삭제하는 방법은
for (var i = 0; i < arr.length; i++) {
if (arr[i] == '자동차' || arr[i] == '비행기')
arr.splice(i, 1);
}
입니다.
답변을 작성하려면 로그인이 필요합니다.