我有json说
var json= { name: { '$regex': /^Amer$/i }, 'countries.name': { '$regex': /^UNited states$/i } }
我想通过使用lodash或string / json替换使其像下面一样
json= { "name": "Amer" , "countries.name": "UNited states" }
答案 0 :(得分:2)
如果RegExps始终具有相同的锚点(^
和$
),则可以采用以下方法:
var json= { name: { '$regex': /^Amer$/i }, 'countries.name': { '$regex': /^UNited states$/i } }
Object.entries(json).forEach(([k, v]) => {
json[k] = v.$regex.source.slice(1, -1);
})
console.log(json);
答案 1 :(得分:0)
var data = { name: { '$regex': /^Amer$/i }, 'countries.name': { '$regex': /^UNited states$/i } };
for(var key in data){
var value = data[key]['$regex'];
data[key] = value.source.slice(1, -1)
}
console.log(data);