@shading

Переопределить поля у объекта?

Всем привет.
Есть объект с полями
"BIRZHASP":[
      {
         "Code":"1",
         "ForAbonentType":"ip"
      },
      {
         "Code":"2",
         "ForAbonentType":"ul"
      }
   ],
   "BIRZHASPF":[
      {
         "Code":"3",
         "ForAbonentType":"ip"
      },
      {
         "Code":"4",
         "ForAbonentType":"ul"
      }
   ],


Есть так же массив, в котором хранятся данные карточек
[
{
  serviceTypes: ['BIRZHASP', 'BIRZHASPF']
  qualNames: {
       ip: какой то код
       ul: какой-то код
   };
},
и так далее карточки с такими же данными
]


Необходимо у карточек изменить поля у qualNames так, чтобы данные брались из объекта выше, при том, что qualNames должны изменяться только у тех карточек, у которых serviceTypes равны названиям полей из верхнего объекта.

Я что то поломал себе голову и уже не могу сообразить как это сделать)
  • Вопрос задан
  • 222 просмотра
Пригласить эксперта
Ответы на вопрос 2
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...
Комментировать
Kasperenysh
@Kasperenysh
Рецидив в особо острой форме))
let obj = {
  "BIRZHASP":[
      {
         "Code":"1",
         "ForAbonentType":"ip"
      },
      {
         "Code":"2",
         "ForAbonentType":"ul"
      }
   ],
   "BIRZHASPF":[
      {
         "Code":"3",
         "ForAbonentType":"ip"
      },
      {
         "Code":"4",
         "ForAbonentType":"ul"
      }
   ]
};

let arr = [
  {
    serviceTypes: ['BIRZHASP', 'BIRZHASPF']
    qualNames: {
       ip: какой то код
       ul: какой-то код
     };
  }
];

arr.foreach(elem => {
  elem.serviceTypes.forech(e => {
    if (obj.hasOwnProperty(e)) {
      elem.qualNames.ip = obj[e][0].ForAbonentType;
      elem.qualNames.ul = obj[e][1].ForAbonentType;
    }
  });
});


Если я правильно понял, то что-то подобное))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы