Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js nodejs中对象内部的模式匹配_Node.js_Pattern Matching_Jsonobject - Fatal编程技术网

Node.js nodejs中对象内部的模式匹配

Node.js nodejs中对象内部的模式匹配,node.js,pattern-matching,jsonobject,Node.js,Pattern Matching,Jsonobject,我有一个这样的物体 var obj = {"$match":{"name.first":"aa"}} 在nodejs中,如何在对象中搜索$pattern。这方面的任何帮助都会非常有用 谢谢 短版本?你不能,长版?您必须编写自己的函数才能完成此操作\ 一个非常简单的实现: var searchObj = function(obj, key, value) { if(obj[key] === value) return obj; for(var k in obj) {

我有一个这样的物体

var obj = {"$match":{"name.first":"aa"}}
在nodejs中,如何在对象中搜索$pattern。这方面的任何帮助都会非常有用


谢谢

短版本?你不能,长版?您必须编写自己的函数才能完成此操作\

一个非常简单的实现:

var searchObj = function(obj, key, value) {
    if(obj[key] === value) return obj;
    for(var k in obj) {
        var v = obj[k];
        if(obj.hasOwnProperty(k) && typeof v === 'object'){
            if(v[key] === value) return v;
        }
    }
}

var text=JSON.stringify(obj);var n=text.match(/\$/g)

您是否也在属性名或值中寻找匹配项,并且它必须是递归的?
$
是否必须位于字符串的开头或任何位置?属性/值必须由对象拥有还是可以继承?它是递归的,我必须同时检查键和值。$可以是字符串中的任意位置。该价值将由object@cjross我的答案是var text=JSON.stringify(obj);var n=text.match(/\$/g);我必须在对象中的任何位置搜索$pattern,这不是我意识到的确切值,但你必须自己实现它,我给了你一个开始,你应该从那里开始工作。