Javascript 从对象数组中的列表中删除索引处的一个元素

Javascript 从对象数组中的列表中删除索引处的一个元素,javascript,reactjs,react-hooks,Javascript,Reactjs,React Hooks,我想使用react从对象数组中的列表项中删除索引处的一个元素 目前,我不知道使用哪种方法 const[users,setUsers]=useState([ { 用户名:“彼得”, 项目:[ {name:您可以使用Array.prototype.filter来实现这一点 function removeItem(index: number) { setUsers(users.filter((user, userIndex) => userIndex !== index)) } 您可以阅读

我想使用react从对象数组中的列表
项中删除索引处的一个元素

目前,我不知道使用哪种方法

const[users,setUsers]=useState([
{
用户名:“彼得”,
项目:[

{name:您可以使用
Array.prototype.filter
来实现这一点

function removeItem(index: number) {
  setUsers(users.filter((user, userIndex) => userIndex !== index))
}

您可以阅读有关
Array.prototype.filter
的更多信息,前提是您希望从具有索引的用户中删除具有索引的项:
itemIndex

function removeItem(userIndex, itemIndex) {
    return users.map((x, i) => {
        if (i === userIndex) return {
            ...x,
            items: x.items.filter((y, j) => j !== itemIndex)
        }
        return x;
    })
}

您必须以不可变的方式进行操作,因为它来自状态。

我不明白,您到底要删除哪个元素?我想通过指定索引来删除用户的
项目
列表中的任何
项目。@Olivier.C哪个用户?检查我的回答工具集,比如我想从任何用户的列表中删除项目:
项目@Olivier.C你应该检查我的答案,我认为它涵盖了你的用例。