{"id":1398,"date":"2018-09-26T14:20:38","date_gmt":"2018-09-26T13:20:38","guid":{"rendered":"https:\/\/solidt.eu\/site\/?p=1398"},"modified":"2022-07-25T08:35:44","modified_gmt":"2022-07-25T07:35:44","slug":"javascript-queryobject","status":"publish","type":"post","link":"https:\/\/solidt.eu\/site\/javascript-queryobject\/","title":{"rendered":"Javascript QueryObject"},"content":{"rendered":"<pre class=\"lang:default decode:true \">var queryObject = function(obj, qry) {\r\n    let curObj = obj;\r\n    let result = [];\r\n    let parts = qry.split('.');\r\n    parts.forEach(function(part, i) {\r\n        if (part in curObj) {\r\n            if (i === parts.length - 1) {\r\n                let resultObj = curObj[part];\r\n                let type = resultObj.constructor.name;\r\n                if (type == 'Array') {\r\n                    result = [];\r\n                } else if (type == 'Object') {\r\n                    result = {};\r\n                }\r\n                let keys = Object.keys(resultObj);\r\n                for (let prop in keys) {\r\n                    if (type == 'Array') {\r\n                        result[prop] = resultObj[prop];\r\n                    } else if (type == 'Object') {\r\n                        let propName = keys[prop];\r\n                        result[propName] = resultObj[propName];\r\n                    }\r\n                }\r\n            } else {\r\n                curObj = curObj[part];\r\n            }\r\n        } else {\r\n            return false;\r\n        }\r\n    });\r\n    if (!Array.isArray(result)) {\r\n        return [result];\r\n    }\r\n    return result;\r\n};<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>var queryObject = function(obj, qry) { let curObj = obj; let result = []; let parts = qry.split(&#8216;.&#8217;); parts.forEach(function(part, i) { if (part in curObj) { if (i === parts.length &#8211; 1) { let resultObj = curObj[part]; let type = resultObj.constructor.name; if (type == &#8216;Array&#8217;) { result = []; } else if (type == &#8216;Object&#8217;) [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[5,4],"tags":[],"class_list":["post-1398","post","type-post","status-publish","format-standard","hentry","category-javascript","category-programming"],"_links":{"self":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/1398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/comments?post=1398"}],"version-history":[{"count":1,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/1398\/revisions"}],"predecessor-version":[{"id":1399,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/1398\/revisions\/1399"}],"wp:attachment":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/media?parent=1398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/categories?post=1398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/tags?post=1398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}