我正在开发一个可以向用户添加组的应用程序。您可以从列表中选择一个组,该组将显示在其上方。 (See this photo)
我现在希望您只能在下拉菜单中看到您不属于的组。
constructor(props) {
super(props)
this.state = {
groups: [],
selectedGroups: [],
group: '',
isLoading: true,
show: false
};
//bind
this.getGroups = this.getGroups.bind(this);
this.addGroup = this.addGroup.bind(this);
}
//this function will be executed when clicking on button
addGroup(e) {
e.preventDefault();
this.setState({
selectedGroups: [...this.state.selectedGroups, this.state.group], //hier worden de groepen van die gebruiker in geplaatst
groups: [] //hier moet iets gebeuren dat this.state.group wordt verwijdert uit de lijst
})}
我的财产分组如下:
[{"id":1,"company_id":1,"name":"Support","created_at":null,"updated_at":null},
{"id":2,"company_id":1,"name":"Administrator","created_at":null,"updated_at":null},
{"id":3,"company_id":1,"name":"Redacteur","created_at":null,"updated_at":null}]
我的媒体资源组是单击按钮时选择的组。
示例:如果我选择管理员并单击按钮,则属性组将以“管理员”作为值。然后,管理员将被添加到Array selectedGroups中。现在,我希望将名称为“ Administrator”的对象从groups数组中删除。
然后,属性组必须看起来像这样:
{"id":2,"company_id":1,"name":"Administrator","created_at":null,"updated_at":null},
{"id":3,"company_id":1,"name":"Redacteur","created_at":null,"updated_at":null}]
如何从对象数组中删除对象?
答案 0 :(得分:2)
在我看来,您需要使用以下方法在数组中找到要删除的元素的索引:
const index = array.findIndex(value => value.id === id);
,然后删除该索引:
const result = array.splice(index, 1);
array
是要删除对象的数组,id
是应删除对象的ID。您还可以在进行findIndex
之前检查splice
是否已经建立了某物,是否没有建立的findIndex
会返回-1
。