질문

나는 숫자 배열이 있고 .push () 메서드를 사용하여 요소를 추가합니다.

배열에서 특정 요소를 제거하는 간단한 방법이 있습니까?

나는 다음과 같은 것과 같습니다.

array.remove(number);

코어 자바 스크립트를 사용해야합니다.프레임 워크는 허용되지 않습니다.


답변

 

 

IndexOf를 사용하여 제거하려는 배열 요소의 인덱스를 찾은 다음 해당 인덱스를 스플 라이스로 제거합니다.

The splice() method changes the contents of an array by removing existing elements and/or adding new elements.

const 배열 = [2, 5, 9]; console.log (배열); const index = array.indexof (5); if (index> -1) { array.splice (색인, 1);// 2 번째 매개 변수는 하나의 항목을 제거하는 것을 의미합니다 } // 어레이 = [2, 9] console.log (배열);

스플 라이스의 두 번째 매개 변수는 제거 할 요소 수입니다.스플 라이스는 배열을 수정하고 제거 된 요소가 포함 된 새 배열을 반환합니다.


완전성 이유로 여기에는 기능이 있습니다.첫 번째 기능은 단일 발생만을 제거합니다 (즉, [2,5,9,1,5,8,5]에서 첫 번째 일치를 제거하고 두 번째 기능은 모든 발생을 제거합니다.

기능 removeItemonce (arr, value) { var index = arr.indexof (값); if (index> -1) { arr.splice (색인, 1); } arr을 반환; } 기능 removeItemall (ARR, VALUE) { var i = 0; (i

Typescript에서 이러한 함수는 type 매개 변수로 유형 안전을 유지할 수 있습니다.

function removeItem<T>(arr: Array<T>, value: T): Array<T> { 
  const index = arr.indexOf(value);
  if (index > -1) {
    arr.splice(index, 1);
  }
  return arr;
}

출처:

https://stackoverflow.com/questions/5767325/how-can-i-remove-a-specific-item-from-an-array