ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript を使用した JSON のパターン マッチング (パート 1-設計)_JavaScript スキル

JavaScript を使用した JSON のパターン マッチング (パート 1-設計)_JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 18:23:091008ブラウズ

フィルター条件の記述に関しては、パターン マッチングが非常に一般的で便利な方法です。 JavaScriptではJSONを使ってパターンを記述するととても便利なので、JSONパターンマッチングツールを作ってみましょう。

ユースケースの設計
ディスパッチャーとして必要なのは、通知とキャプチャの 2 つのメソッドだけです。最も単純な使用例の 1 つはこれです:

コードをコピー コードは次のとおりです:

Dispatcher.capture ({
"ステータス": 200,
"コマンド": "メッセージ"
}, function(json) { /* メッセージを表示 */ }); .notify( {
"ステータス": 200,
"コマンド": "メッセージ",
"コンテンツ": {
"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 } /* lambda */
}, 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": "こんにちは"、
"value11": "A13579"、
"value12": "何でも"
})


たくさんの演算子を書くと、実装が複雑になるように思えますか? 実際、次の記事では、演算子インターフェイスを設計し、これらの演算子を 1 つずつ実装する方法について説明します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。