有什么有效的方法来改变这一点:
{
person:{
name:'John',
address:{
city:'England',
street:'99',
}
}
}
如下所示:
{
'person.name' :'John',
'person.address.city':'England',
'person.address.street':'99'
}
谢谢!Ps。我需要它来更新带有多个字段的mongo文档,而不需要替换整个对象(使用$set)。
发布于 2018-06-08 07:18:31
过于简单的示例:
function flatten(object, result = {}, path) {
if (!(object instanceof Object)) return result[path] = object;
for (var key in object) flatten(object[key], result, path ? path + '.' + key : key);
return result;
}
console.log(flatten({ person:{ name:'John', address:{ city:'England', street:'99' }}}));
console.log( flatten( [[0]] ) );
console.log( flatten( 0 ) );
https://stackoverflow.com/questions/50750303
复制相似问题