【问题标题】:Why does this.state.items.filter removes an item from an array为什么 this.state.items.filter 从数组中删除一个项目
【发布时间】:2019-06-13 04:19:44
【问题描述】:

我知道如何从 react 中的数组中删除一个项目,但我不明白这背后的逻辑。

removeItem(id) => {
   items:[...this.state.items.filter(item => item.id !== id)]
}

我所理解的是,如果 item.id !== id 删除该项目。但是,这是如何工作的呢?为什么它从数组中删除一个项目。

【问题讨论】:

标签: javascript arrays reactjs filter


【解决方案1】:

这里是解释,进行如下操作

  1. 根据某些条件过滤数组

考虑下面的例子

// Defining array
const items = [{"id" : 1},{"id" : 2}, {"id" : 3} ]

//Eliminating id 2
const filteredArray = items.filter(item => item.id !== 2)

console.log(filteredArray)

在上面的例子中,过滤器的作用是,它返回一个数组,不包括条件中提到的任何内容,在我们的例子中它是item.id !== id,所以 ID 为 2 的对象被跳过。

完成后,项目现在保存更新的对象数组。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 2012-02-11
    • 1970-01-01
    • 2016-05-08
    • 1970-01-01
    • 2021-10-22
    • 1970-01-01
    相关资源
    最近更新 更多