如何在javascript中删除对象属性的重复数组?

如何在javascript中删除对象属性的重复数组?,javascript,arrays,reactjs,object,Javascript,Arrays,Reactjs,Object,{value:“can_create”,rolename:“top”}]; {value:“can_delete”,rolename:“group”}] 我试图从对象数组中获取值。我想得到这个格式的值 {value:"can_delete",rolename:"top"}]; 我还想从输出中删除基于rolename的字符串数组。例如,“can_create”,can_delete remove only from group属性。 这是我的密码箱:你可以使用数组#reduce const w

{value:“can_create”,rolename:“top”}]; {value:“can_delete”,rolename:“group”}]

我试图从对象数组中获取值。我想得到这个格式的值

{value:"can_delete",rolename:"top"}];
我还想从输出中删除基于rolename的字符串数组。例如,“can_create”,can_delete remove only from group属性。
这是我的密码箱:

你可以使用
数组#reduce

const words=[{value:“can_view”,rolename:“group”},{value:“can_create”,rolename:“group”},{value:“can_delete”,rolename:“top”}];
const res=words.reduce((acc,{rolename,value})=>{
acc[rolename]=acc[rolename]| |[];
acc[rolename]。推送(值);
返回acc
},{});

log(res)
使用一个简单的for循环来完成此操作。您需要在此处按rolename分组

沙箱:

const单词=[
{value:“can_view”,rolename:“group”},
{value:“can_create”,rolename:“group”},
{value:“can_delete”,rolename:“top”},
{value:“can_delete”,rolename:“group”}
];
const result={};
for(单词的常量{value,rolename}){
如果(!result[rolename])result[rolename]=[];
结果[rolename]。推送(值);
}
功能移除(obj、arr){
for(对象的变量键。键(结果)){
如果(键===obj){
结果[key]=结果[key]。过滤器(i=>!arr.includes(i));
}
}
返回结果;
}
const modified=removelement(“组”,“可以删除”);

控制台日志(修改)在您的示例中没有重复项请更清楚地显示输入和预期输出如果用户希望从“组”中删除字符串数组:[“can_view”,“can_create”]使用onclick事件,我该怎么做呢?请发布你的html并用小提琴单击事件,你也希望结果我会更改我给你代码Sanbox链接,我正在使用reactyou代码看起来不错。但你的问题仍然不清楚。你能详细说明一点吗用户单击复选框,每个复选框都会给出值,例如can_view,可以基于rolename创建,用户可以删除can_视图,可以单击复选框如果用户想从“组”中删除字符串数组:[“can_视图”,“can_创建”]在创建此格式后,使用onclick事件,我该如何做?我的意思是当用户单击事件组:[“can_view”]字符串数组时?例如,这里有一个输出:{“group”:[“can_view”,“can_create”],“top”:[“can_delete”]},但我想删除can_view,can_create和can_create,并基于rolename添加新值can_create Accepped value:{“group”:[],“top”:[“can_delete”,“can_create”],[{top:“can_create”,group:“can_create}]我只是想从顶部删除can_create,而不是所有其他对象。可能是您自己尝试一些东西,我可以指导您,以防您在某个地方出错
{value:"can_delete",rolename:"top"}];
        Accepted Value: {
         group:["can_view","can_create"],
         top:["can_delete"]
        }