Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从对象数组中删除属性_Javascript_Arrays - Fatal编程技术网

Javascript 从对象数组中删除属性

Javascript 从对象数组中删除属性,javascript,arrays,Javascript,Arrays,我有一个如下所述的对象数组 Flag =[{type: "folder", name: "Real Estate", order: "1", delete: "false", canModify: "true"} {type: "folder", name: "Legal", order: "2", delete: "false", canModify: "false"} {type: "folder", name: "Construction", order: "3", delete: "

我有一个如下所述的对象数组

Flag =[{type: "folder", name: "Real Estate", order: "1", delete: "false", canModify: "true"}
 {type: "folder", name: "Legal", order: "2", delete: "false", canModify: "false"}
 {type: "folder", name: "Construction", order: "3", delete: "false", canModify: "true"}
 {type: "folder", name: "Design", order: "4", delete: "false", canModify: "true"}];
我想从我输出的数组中删除名称、顺序

Flag =[{type: "folder",  delete: "false", canModify: "true"}
 {type: "folder",   delete: "false", canModify: "false"}
 {type: "folder",  delete: "false", canModify: "true"}
 {type: "folder",  delete: "false", canModify: "true"}];

array.splice()或array.pop()哪种方法更好?更好的方法是使用运算符将属性删除到对象中

Flag=[{type:“folder”,name:“Real Estate”,order:“1”,delete:“false”,canModify:“true”},
{键入:“文件夹”,名称:“合法”,命令:“2”,删除:“假”,可以修改:“假”},
{键入:“文件夹”,名称:“构造”,顺序:“3”,删除:“假”,可以修改:“真”},
{键入:“文件夹”,名称:“设计”,顺序:“4”,删除:“假”,可以修改:“真”};
Flag.forEach(obj=>{
删除obj.name;
删除obj.order;
});

console.log(标志)
您可以使用
delete
关键字删除对象的属性

let Flag=[{type:“folder”,name:“Real Estate”,order:“1”,delete:“false”,canModify:“true”},
{键入:“文件夹”,名称:“合法”,命令:“2”,删除:“假”,可以修改:“假”},
{键入:“文件夹”,名称:“构造”,顺序:“3”,删除:“假”,可以修改:“真”},
{键入:“文件夹”,名称:“设计”,顺序:“4”,删除:“假”,可以修改:“真”};
Flag.forEach(obj=>{
删除obj.name;
删除obj.order;
})

控制台日志(标志)
我不确定如何使用
splice
pop
为此,我将使用rest操作符删除属性:

const标志=[{
键入:“文件夹”,
名称:“房地产”,
命令:“1”,
删除:“假”,
可以修改:“true”
}, {
键入:“文件夹”,
名称:“合法”,
命令:“2”,
删除:“假”,
可以修改:“false”
}, {
键入:“文件夹”,
名称:“施工”,
命令:“3”,
删除:“假”,
可以修改:“true”
}, {
键入:“文件夹”,
名称:“设计”,
命令:“4”,
删除:“假”,
可以修改:“true”
}, ];
const result=Flag.map(x=>{
常数{
名称
命令,
休息
}=x;
返回休息;
});
console.dir(结果)使用删除

标志=[{
键入:“文件夹”,
名称:“房地产”,
命令:“1”,
删除:“假”,
可以修改:“true”
},
{
键入:“文件夹”,
名称:“合法”,
命令:“2”,
删除:“假”,
可以修改:“false”
},
{
键入:“文件夹”,
名称:“施工”,
命令:“3”,
删除:“假”,
可以修改:“true”
},
{
键入:“文件夹”,
名称:“设计”,
命令:“4”,
删除:“假”,
可以修改:“true”
}
];
函数del(){
对于(i=0;ilog(del())方法1

标志=[{
键入:“文件夹”,
名称:“房地产”,
命令:“1”,
删除:“假”,
可以修改:“true”
},
{
键入:“文件夹”,
名称:“合法”,
命令:“2”,
删除:“假”,
可以修改:“false”
},
{
键入:“文件夹”,
名称:“施工”,
命令:“3”,
删除:“假”,
可以修改:“true”
},
{
键入:“文件夹”,
名称:“设计”,
命令:“4”,
删除:“假”,
可以修改:“true”
}
];
var removeKeys=['name','order'];
myArray=Flag.filter(函数(obj){
removeKeys.forEach(e=>deleteobj[e]);
返回obj;
});
log(myArray)