티스토리 뷰

반응형

 

내가 소유한 도메인 배열 중에서 내가 원하는 필터링을 한 배열을 만들고 싶을 때 유용

 

 

 

아래와 같이 나의 도메인 리스트가 있다.

const myDomains = ['jane.com',
                   'jane.co.kr',
                   'jane.seoul.kr',
                   'kwon.ai',
                   'kwon.us',
                   'kj.kr',
                   'kj.coffee',
                   '제인.fr',
                   '제인.go.kr'];

$.grep() 함수를 이용해 원본 배열은 그대로 유지한 채로

원하는 필터링을 한 새 배열을 만들 수 있다.

 

return 값을 true로 넘겨주면 해당 원소는 새로운 배열에 추가된다.

const koreanDomains = $.grep(myDomains, function(item, index) {
       const korean = /[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]/; // 한글 정규식
       return korean.test(item);
});

console.log(koreanDomains); // ["제인.fr", "제인.go.kr"]

위 식에 의해서 한국어로 된 도메인 배열이 생성됐다.

 

 

 

이번엔 TLD가 kr인 도메인 배열을 생성해보았다.

const tldIsKr = $.grep(myDomains, function(item, index) {
       return item.indexOf('kr') !== -1;
});

console.log(tldIsKr); // ["jane.co.kr", "jane.seoul.kr", "kj.kr", "제인.go.kr"]

 

 

 

여기서 옵션으로 invert 값에 Boolean 값을 넣어서 true, false를 설정해주면

$.grep( Array, function ( value, index ){ }, [, invert] );

return 값이 true가 아닌 false인 경우에 새로운 배열에 추가되도록 할 수 있다.

(참고 : junghn.tistory.com/entry/jQuery-jQuerygrep-%EC%82%AC%EC%9A%A9-%EB%B0%A9%EB%B2%95)

 

 

 

 

 

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함