배열 원소의 값을 걸러내어 그 결과로 새로운 배열을 만들고 싶다.
Array 객체의 filter
메서드를 사용하면 된다.
function removeChars(element,index,array){
return (element !== "**");
}
var charSet = new Array("**","bb","cd","**","cc","**","dd","**");
var newArray = charSet.filter(removeChars);
document.write(newArray); //bb,cd,cc,dd
filter
메서드는 모든 배열 원소에 콜백 함수를 적용한다.
filter
메서드에 인수로 전달된 함수는 배열 원소 확인 결과에 따라 불리언값, 즉 true 또는 false를 반환한다. 함수에서 true를 반환하면 새 배열에 추가되고, 그렇지 않으면 추가되지 않는다. 예제에서 원본 배열의 문자열 "**"은 새 배열을 작성할 때 걸러진다.
IE8을 제외한 IE9와 대부분의 최신 브라우저에서 지원한다.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter