delete 는 실제 상황이 아닌 것처럼 작동 하지만 항목 만 제거 하지만 배열 길이는 동일하게 유지됩니다.
노드 터미널의 예 :
> var arr = ["a","b","c","d"];
> delete arr[2]
true
> arr
[ 'a', 'b', , 'd', 'e' ]
다음은 slice ()를 사용하여 인덱스로 배열의 항목을 제거하는 함수입니다 . arr을 첫 번째 인수로 사용하고 삭제하려는 멤버의 인덱스를 두 번째 인수로 사용합니다. 보시다시피 실제로 배열의 멤버를 삭제하고 배열 길이를 1 줄입니다.
function(arr,arrIndex){
return arr.slice(0,arrIndex).concat(arr.slice(arrIndex + 1));
}
위의 함수는 모든 멤버를 인덱스까지 가져오고 index 뒤의 모든 멤버를 가져와 함께 연결하여 결과를 반환합니다.
다음은 위의 기능을 노드 모듈로 사용하는 예입니다. 터미널이 유용하다는 것을 알 수 있습니다.
> var arr = ["a","b","c","d"]
> arr
[ 'a', 'b', 'c', 'd' ]
> arr.length
4
> var arrayRemoveIndex = require("./lib/array_remove_index");
> var newArray = arrayRemoveIndex(arr,arr.indexOf('c'))
> newArray
[ 'a', 'b', 'd' ] // c ya later
> newArray.length
3
indexOf ( "c")는 첫 번째 발생 만 가져 오며 찾은 첫 번째 "c"만 분리하고 제거하기 때문에 두 개의 배열이있는 배열은 작동하지 않습니다.
.splice
: 루프에서,이 질문에 대해 살펴있는 자바 스크립트 배열에서 삭제를 .