Как обновить свойство в объекте?

#javascript #lodash

#javascript #Lodash

Вопрос:

Я пытаюсь обновить значение свойства в объекте, но у меня ничего не получается. Кто-нибудь может сказать мне, чего мне не хватает? Я пытаюсь выполнить замену для каждого свойства свойства messages. Как это сделать с помощью javascript или Lodash? Заранее большое спасибо.

Вот мой код:

 let arr = [{
  messages: {
    TEAM: "some <message> abc <1mn>",
    ITON: "acr <iconn> computer",
    LKON: "title <12mn> test"
  },
  messageId: '10',
  code: 'some code'
}]


arr.forEach(obj => {
  if (obj.messages) {
    for (let key in obj.messages) {
      key = obj.messages[key].replace(/</g, 'amp;<');
    }
  }
});

console.log(arr)  

Ответ №1:

Вам нужно снова присвоить результат .replace вызова свойству объекта:

 let arr = [{
     messages: {
    TEAM: "some <message> abc <1mn>",
    ITON: "acr <iconn> computer",
    LKON: "title <12mn> test"
 },
 messageId:'10',
 code: 'some code'
}]


arr.forEach(obj => {
    const { messages } = obj;
    if(messages) {
        for (const [key, value] of Object.entries(obj.messages)) {
            messages[key] = value.replace(/</g,'amp;<');
        }
    }
});

console.log(arr)