用例設計 作為一個 dispatcher ,我們只需要兩個方法: not " /> 韩日精品,狠久久,精品国产一区二区三区久久影院

中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

用JavaScript對JSON進行模式匹配(Part 1-設計)

至于篩選條件的描述,模式匹配是一種很常見也很好用的方式。在 JavaScript 里面,用 JSON 來描述模式又是相當方便的事情,所以我們來做一個 JSON 模式匹配工具吧。

用例設計
作為一個 dispatcher ,我們只需要兩個方法: notify 和 capture 。一個最簡單的用例是這樣的:
復制代碼 代碼如下:
Dispatcher.capture({
"status": 200,
"command": "message"
}, function(json) { /* display message */ });

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

當然,只有局部的全等匹配是不夠的,我們還需要一些其他運算符。
復制代碼 代碼如下:
Dispatcher.capture({
"value1$eq": "hello", /* equal */
"value2$ne": true, /* not equal */
"value3$lt": 0, /* less than */
"value4$lte: 1, /* less than or equal */
"value5$gt": 2, /* greater than */
"value6$gte": 3, /* greater than or equal */
"value7$in": [1, 3, 5, 7, 9], /* in */
"value8$nin": [2, 4, 6, 8, 10], /* not in */
"value9$all": [1, 2, 3, 4, 5], /* all */
"value10$ex": true, /* exists */
"value11$re": /^A.*/, /* regular expression */
"value12$ld": function(json) { return true; } /* lambda */
}, function(json) {});

Dispatcher.notify({
"value1": "hello",
"value2": false,
"value3": -1,
"value4": 1,
"value5": 3,
"value6": 3,
"value7": 5,
"value8": 5,
"value9": [1, 3, 5, 2, 4],
"value10": "hello",
"value11": "A13579",
"value12": "anything"
})

隨手寫下來一堆運算符,看起來實現會很復雜?其實不會有多復雜。在下一篇文章里面,我們會討論如何設計一個運算符接口,然后逐一實現這些運算符。

JavaScript技術用JavaScript對JSON進行模式匹配(Part 1-設計),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 一级二级三级在线观看 | 欧美一级电影免费观看 | 亚洲导航深夜福利涩涩屋 | 一区二区三区回区在观看免费视频 | 日韩欧美一区二区在线播放 | 九九九久久国产免费 | 天天躁日日躁狠狠躁白人 | 亚洲一区二区三区国产 | 欧美精品一区二区三区一线天视频 | 日本精品视频一区二区 | 久国产视频| 久久久久国产一区二区三区 | 日韩www视频 | 美女张开腿露出尿口 | 国产精品www | 青娱乐一区二区 | a国产一区二区免费入口 | 精品视频www| 99久久久国产精品 | 亚洲一区二区三区免费在线观看 | 中文二区 | a毛片视频网站 | 精品一二区 | 中文字幕视频在线 | 91亚洲精选| 国产成人麻豆免费观看 | 欧美一级久久精品 | 一级看片免费视频 | 国产电影一区二区三区爱妃记 | 亚洲不卡在线观看 | 国产精品视频一区二区三区不卡 | 日本久草 | 亚洲精品区 | 黑人精品欧美一区二区蜜桃 | 精品视频 免费 | 综合久久综合久久 | 欧美91 | 日韩中文字幕在线播放 | 欧美午夜一区 | www国产亚洲精品久久网站 | 高清人人天天夜夜曰狠狠狠狠 |