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;i log(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)代码>