Javascript 如何删除文档数组中的键

Javascript 如何删除文档数组中的键,javascript,node.js,Javascript,Node.js,在我的例子中,是否有一种简单的方法只返回几个键?例如,如果存在,我只想返回headername、field和type。我知道我可以通过 for (i = 0; i < obj.length; i++) { delete obj[i]['type'] delete obj[i]['hide'] delete obj[i]['position'] } 您可以使用解构 let data=[{“headerName”:“assessed_combined_value”,“field

在我的例子中,是否有一种简单的方法只返回几个键?例如,如果存在,我只想返回headername、field和type。我知道我可以通过

for (i = 0; i < obj.length; i++) {
  delete obj[i]['type']
  delete obj[i]['hide']
  delete obj[i]['position']
}

您可以使用解构

let data=[{“headerName”:“assessed_combined_value”,“field”:“assessed_combined_value”,“hide”:false,“position”:8,“type”:“money”},{“headerName”:“assessee1”,“field”:“assessee1”,“hide”:false,“position”:1},{“headerName”:“assessee2”,“hide”:false,“position”:2},{“headerName”:“浴室”,“field”:“浴室”,“hide”:false,“位置”:5}]
设final=data.map({field,headerName})=>({headerName,field}))

console.log(final)
您可以使用spread运算符结合先前发布的答案,仅显示当前迭代对象中存在的字段

let info=[{
“headerName”:“评估的综合价值”,
“字段”:“评估的组合值”,
“隐藏”:假,
“立场”:8,
“类型”:“货币”
},
{
“校长姓名”:“评估人1”,
“字段”:“assessee1”,
“隐藏”:假,
“职位”:1
},
{
“头名”:“被评估人2”,
“字段”:“assessee2”,
“隐藏”:假,
“职位”:2
},
{
“headerName”:“浴室”,
“字段”:“浴室”,
“隐藏”:假,
“职位”:5
}]
const result=info.map({field,headerName,type})=>({
…(headerName&&{“headerName”:headerName}),
…(字段&&{“字段”:字段}),
…(类型&&{“类型”:类型})
}));

控制台日志(结果)您的数据是如何获得的?如果你控制对db的查询(如果有db的话),你就不能选择这个字段。因此,如果文档和数组不像数组中的10个文档那样大,或者一个文档中有20-40个键,那么使用一个或另一个字段会有很大的好处吗?如果使用我的示例,你就不会得到
{type:undefined}
属性。只有在这些情况下,当原始对象的
类型
属性具有值时。
[   {
             "headerName": "assessed_combined_value",
             "field": "assessed_combined_value",
             "hide": false,
             "position": 8,
             "type": "money"
        },
        {
             "headerName": "assessee1",
             "field": "assessee1",
             "hide": false,
             "position": 1
        },
        {
             "headerName": "assessee2",
             "field": "assessee2",
             "hide": false,
             "position": 2
        },
        {
             "headerName": "bathrooms",
             "field": "bathrooms",
             "hide": false,
             "position": 5
        }
        ]