>  기사  >  웹 프론트엔드  >  JavaScript를 이용한 JSON 패턴 매칭(1부-디자인)_javascript 기술

JavaScript를 이용한 JSON 패턴 매칭(1부-디자인)_javascript 기술

WBOY
WBOY원래의
2016-05-16 18:23:091004검색

필터 조건 설명에 있어 패턴 매칭은 매우 일반적이고 유용한 방법입니다. JavaScript에서는 JSON을 사용하여 패턴을 설명하는 것이 매우 편리하므로 JSON 패턴 일치 도구를 만들어 보겠습니다.

사용 사례 디자인
디스패처로서 알림과 캡처라는 두 가지 방법만 있으면 됩니다. 가장 간단한 사용 사례 중 하나는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

Dispatcher.capture({
"status": 200,
"command": "message"
}, function(json) { /* 메시지 표시 */ })

Dispatcher .notify( {
"status": 200,
"command": "message",
"content": {
"from": "user1",
"to": "user2" ,
"text": "hello"
}
});

물론 로컬 동일 일치로는 충분하지 않으며 다른 연산자도 필요합니다.
코드 복사 코드는 다음과 같습니다.

Dispatcher.capture({
" value1$eq ": "hello", /* 같음 */
"value2$ne": true, /* 같지 않음 */
"value3$lt": 0, /* 보다 작음 */
"value4 $lte: 1, /* 작거나 같음 */
"value5$gt": 2, /*보다 큼 */
"value6$gte": 3, /* 크거나 같음 */
"value7$in": [1, 3, 5, 7, 9], /* in */
"value8$nin": [2, 4, 6, 8, 10], / * 없음 */
"value9$all": [1, 2, 3, 4, 5], /* 모두 */
"value10$ex": true, /* 존재함 */
"value11$ re": /^A.*/, /* 정규 표현식 */
"value12$ld": function(json) { return true } /* 람다 */
}, function(json) ) {} )

Dispatcher.notify({
"value1": "hello",
"value2": false,
"value3": -1,
" 값4": 1,
"값5": 3,
"값6": 3,
"값7": 5,
"값8": 5,
"값9": [1 , 3, 5, 2, 4],
"value10": "hello",
"value11": "A13579",
"value12": "anything"
})

연산자를 잔뜩 적어놓으면 구현이 복잡해질 것 같죠? 사실 다음 글에서는 어떻게 연산자 인터페이스를 디자인하고 이 연산자들을 하나씩 구현해 보도록 하겠습니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.