如果对象中的一个元素包含字符串,则 Javascript 从数组中删除对象

Kor*_*ike -1 javascript regex arrays object

我有一个对象数组,例如:

{
    "value": [
        {
            "attachment_text": "Support: hello there! I need some help syncing records",
            "ticket_text": "Ticket 1537 from ronburgundy@news.com"
        },
        {
            "attachment_text": "Copied from original request - 401 unathorized",
            "ticket_text": "Ticket 1459 from klaus.kinsky@kinsky.com"
        },
        {
            "attachment_text": "Contact request form received",
            "ticket_text": "Ticket 1173 from sophia@copolla.com"
        },
        {
            "attachment_text": "Hello, we need to troubleshoot some problems",
            "ticket_text": "Ticket 1591 from pat@pending.com"
        },
        {
            "attachment_text": "Contact request form received",
            "ticket_text": "Ticket 1483 from bugs@bunny.com"
        },
        {
            "attachment_text": "Contact request form received",
            "ticket_text": "Ticket 1393 from elmer@fudd.com"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我可以使用什么 javascript 来删除附件文本字段包含字符串“联系请求”的任何对象?

最好是纯 javascript(即不是像 lodash 这样的库)

Jas*_*ngh 7

你可以在 JavaScript 中使用数组对象的 filter 方法。我在下面为您创建了一个演示:

var data = {
  "value": [{
      "attachment_text": "Support: hello there! I need some help syncing records",
      "ticket_text": "Ticket 1537 from ronburgundy@news.com"
    },
    {
      "attachment_text": "Copied from original request - 401 unathorized",
      "ticket_text": "Ticket 1459 from klaus.kinsky@kinsky.com"
    },
    {
      "attachment_text": "Contact request form received",
      "ticket_text": "Ticket 1173 from sophia@copolla.com"
    },
    {
      "attachment_text": "Hello, we need to troubleshoot some problems",
      "ticket_text": "Ticket 1591 from pat@pending.com"
    },
    {
      "attachment_text": "Contact request form received",
      "ticket_text": "Ticket 1483 from bugs@bunny.com"
    },
    {
      "attachment_text": "Contact request form received",
      "ticket_text": "Ticket 1393 from elmer@fudd.com"
    }
  ]
}

const result = data.value.filter((data) => !data["attachment_text"].includes("Contact request"))
console.log(result)
Run Code Online (Sandbox Code Playgroud)