【问题标题】:loop an object and removing based on condition in react循环对象并根据反应中的条件删除
【发布时间】:2022-07-06 23:07:55
【问题描述】:

我正在使用reactjs,下面有以下数据,我想遍历数组并删除这两个条目。

0: {mailId: 'one@gmail.com', firstName: 'one'}
1: {mailId: 'two@gmail.com', firstName: 'two'}
2: {mailId: 'three@gmail.com', firstName: 'three'}
3: {mailId: 'four@gmail.com', firstName: 'four'}
4: {mailId: 'five@gmail.com', firstName: 'five'}

以下两封电子邮件我想对照数组检查它并需要将其删除。

three@gmail.com
five@gmail.com

我期待一个像下面这样的最终数组

0: {mailId: 'one@gmail.com', firstName: 'one'}
1: {mailId: 'two@gmail.com', firstName: 'two'}
2: {mailId: 'four@gmail.com', firstName: 'four'}

如果邮件ID只有一个,我们可以像下面这样删除,但如果mailId又是列表/数组,那么我们如何删除它,请帮助我。

arrayfilter.filter((item) => item.mailId !== "three@gmail.com")

【问题讨论】:

  • 使用includes():array.filter(i => removeThese.includes(i.mailId))
  • 谢谢,我试试

标签: reactjs


【解决方案1】:

使用过滤器并检查您的黑名单电子邮件是否包含mailId

const arr = [{mailId: 'one@gmail.com', firstName: 'one'},
 {mailId: 'two@gmail.com', firstName: 'two'},
 {mailId: 'three@gmail.com', firstName: 'three'},
 {mailId: 'four@gmail.com', firstName: 'four'},
 {mailId: 'five@gmail.com', firstName: 'five'},]
 
 const blackList = ["three@gmail.com", "five@gmail.com"]
 
 
 const result = arr.filter(item => !blackList.includes(item.mailId))
 
 console.log(result)

【讨论】:

    【解决方案2】:

    const data = [
    {mailId: 'one@gmail.com', firstName: 'one'},
    {mailId: 'two@gmail.com', firstName: 'two'},
    {mailId: 'three@gmail.com', firstName: 'three'},
    {mailId: 'four@gmail.com', firstName: 'four'},
    {mailId: 'five@gmail.com', firstName: 'five'},
    ]
    
    let newArray = [];
    const remove = ['three@gmail.com', 'five@gmail.com']
    
    data.forEach(ele => {
      if(!remove.includes(ele.mailId)) {
        newArray.push(ele)
      }
    })
    
    console.log(newArray)

    【讨论】:

      【解决方案3】:
      arrayfilter.filter((item) => !["three@gmail.com", "five@gmail.com"].includes(item.mailId))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-30
        • 1970-01-01
        • 2019-11-10
        • 1970-01-01
        • 2023-03-27
        • 1970-01-01
        相关资源
        最近更新 更多