Удалить forEach внутри forEach в JavaScript - PullRequest
0 голосов
/ 21 сентября 2018

В моем коде я использовал два цикла forEach.Но чтобы оптимизировать мой код, мне сказали удалить внутренний forEach.Я был проинструктирован не использовать цикл forEach внутри цикла forEach.Поэтому я не хочу перебирать второй массив obj3.Я просто хочу получить значения в определенной позиции.Вот мой код: -

var obj2 = [{
  "name": "4134",
  "calls": [

  ]
}]

    var obj3 = [{ Channel: 'SIP/4134-0004462a',
        State: 'Up',
        Accountcode: '7013658596'},
      { Channel: 'SIP/4334-sa',
        State: 'Up',
        Accountcode: '07717754702',
      }]


var function = (obj2, obj3) => {
    obj2.forEach((a) =>
      obj3.forEach((b) => {
        if (b.Channel.includes(a.name)) a.calls = (a.calls || []).concat(Object.assign({}, { MobileNo: b.Accountcode, Status : b.State}));

      })
    );
};

function(obj2, obj3);

Приведенный выше код перебирает obj2 и obj3, и если значение ключа имени существует в значении ключа канала, то он выбирает код учетной записи и состояние из obj3 и выталкивает их вмассив вызовов объекта obj2.Вот выходной массив: -

    [ {
  "name": "4134",
  "calls": [
    {
      "MobileNo": "7013658596",
      "Status": "Up"
    }
  ]
}]

Любые предложения о том, как решить эту проблему?

1 Ответ

0 голосов
/ 21 сентября 2018

Попробуйте

1002 *
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...