javascript - 是否可以在不知道父键的情况下解构嵌套对象?
问题描述
我想知道是否可以在不知道父对象键的情况下解构嵌套对象?
这样做的原因是 mongoose 验证错误会在errors
键中返回一个对象,并且该对象的每个条目都是另一个对象,其中键是有错误的字段的名称。
const data = {
name: {
path: 'name',
name: 'The error message'
},
email: {
path: 'email',
name: 'Another error message'
}
}
所以结果可能是这样的
{
name: 'The error message',
email: 'Another error message'
}
是否有可能这样做的唯一方法是使用for in
循环并在其中执行解构赋值?
let message = {}
for (var k in data) {
var { path, name } = data[k]
message[path] = name
}
解决方案
const data = {
name: {
path: 'name',
name: 'The error message'
}
}
const {path, name} = Object.values(data)[0];
console.log(path, name);
推荐阅读
- node.js - 为什么 Fastify CLI 进程会强制结束?
- c# - C# 使用 Dns 将主机名解析为 IP 地址
- http - 如何使用 Jenkins 处理 HTTP 请求?
- xamarin - 如何使用xamarin表单android中的自定义渲染器在两行中设置选择器行项目长文本?
- javascript - 在 nextJS 中,Material-ui 选项卡无法正确呈现
- c++ - C++primer 5ed 1.23 和 1.4.4 中的示例有不同的输出
- c# - 使用 NSwag 生成客户端时缺少数据注释的属性
- amazon-web-services - TaskScheduled 不包含来自 Step Function Input Transformer 中 TaskStateEntered 的数据
- qgis - Atlas 函数似乎不适用于结合“内部”过滤器的倒置多边形
- flutter - flutter bloc 库百分比进度条