javascript - 如何获取 Json 文档数组中数组的索引

标签 javascript node.js lodash

我有一个从后端获得的 Json 文档,如下所示。它有一个电子邮件数组,其下的文档有一个电子邮件数组。我需要获取电子邮件数组所属的索引,该索引与电子邮件地址匹配,以便我可以更新文档。我之前使用 lodash 来使用 _.find 和 _.indexOf 在文档数组中搜索键,但不确定这在数组数组情况下如何工作。

{
  "_type": "email_campaign",
  "status": "Active",
  "start_date": "04/17/2020",
  "template_id": "template::0a2decdd-3acd-4661-9721-1a9ec0d039e6",
  "summary": "Update",
  "metrics": {
    "first_email_sent": "",
    "last_email_send": "2020-04-17T22:11:52.317Z",
    "nbr_of_emails": 185,
    "nbr_of_bounces": 1,
 },
 "history": {
    "created_on": "04/17/2020 13:24:33",
  },
  "emails": [
    {
      "email": [
        "DCustomer@gmail.com"
      ],
      "track_request": "track_request::da07bd4b-b03e-4ecc-9d90-32e85cdb5b3a",
      "tracking_nbr": "MD1dpjR6d"
    },
    {
      "email": [
        "ACustomer@matcocomponents.com",
        "BCustomer@matcocomponents.com",

      ],
      "track_request": "track_request::6f64cee1-d38e-4d68-94a2-c3c7d1287984",
      "tracking_nbr": "YM1sMRX3nl"
    },
    {
      "email": [
        "ACustomer@gmail.com"
      ],
      "track_request": "track_request::92606d4f-f9e6-457f-9156-167eb068f05b",
      "tracking_nbr": "gj6dwIyHdE"
    },

  ],
  "_id": "3ed76589-4063-49f6-a21e-9ca16981d102"
}

最佳答案

您可以使用findIndexincludes:

const index = docs.emails.findIndex(item => item.email.includes('ACustomer@matcocomponents.com'))

关于javascript - 如何获取 Json 文档数组中数组的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61309061/

相关文章:

javascript - 在javascript中合并两个数组,如果id相同,则使用lodash选择第二个数组上的一个

javascript - 按具有条件和自定义键的对象数组分组

javascript - 创建一个为特定单元格着色的 JS 函数

javascript - 弹出框内的复选框功能

node.js - 在 promise.then 中返回值

javascript - Node js 重用现有的 buff 调用

javascript - 仅当值尚不存在时才将值推送到数组的最有效和干净的方法

javascript - 尝试在取消编辑单击时刷新 Angular Ui-Grid

javascript - 在 Javascript 的 IF 条件中遍历数组

node.js - Electron : HellowWorld application is not starting