Javascript (NodeJs) - Преобразование массивов и объектов в массовую вставку в MySQL (Sequelize)

0

Это мой json:

{
    "senderName": "ifelse",
    "message": "Hi",
    "groups": [
    {
        "id": 14,
        "groupname": "Angular",
        "contactgroups": [
        {
            "id": 1,
            "contact": {
                "id": 1,
                "gsm": "123456789"
            }
        },
        {
            "id": 3,
            "contact": {
                "id": 2,
                "gsm": "111111111"
            }
        }],
        "select": true
    }],
    "draftData": {
        "contacts": [
        ]
    }
}

Как сделать вышеупомянутый json в:

[{phoneno: 123456789; sender: ifelse ; message: Hi},{phoneno: 11111111; sender: ifelse ; message: Hi}]

Я хочу взять данные phoneno из ключа объекта gsm

Какой лучший способ сделать это? для или для каждого или любого другого?

Теги:
arrays

1 ответ

3
Лучший ответ

Наверное, это то, чего ты хочешь. Используйте map для преобразования contactgroups в новый массив с помощью phoneno.

var data = {
  "senderName": "ifelse",
  "message": "Hi",
  "groups": [{
    "id": 14,
    "groupname": "Angular",
    "contactgroups": [{
        "id": 1,
        "contact": {
          "id": 1,
          "gsm": "123456789"
        }
      },
      {
        "id": 3,
        "contact": {
          "id": 2,
          "gsm": "111111111"
        }
      }
    ],
    "select": true
  }],
  "draftData": {
    "contacts": []
  }
}

var result = data.groups[0].contactgroups.map(i => {
  return {
    phoneno: i.contact.gsm,
    sender: data.senderName,
    message: data.message
  }
})

console.log(result);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню