Удалить атрибут в свойстве объекта внутри массива

у меня есть сомнения, которые я не могу решить.

У меня есть эти данные, которые я получил:

const groupedElements = [
      {
        _id: 'OVTBLNCDYBHP3IKUFQLGQF6AC4',
        type: 'text',
        additional_properties: { tag: 'p' },
        alignment: 'center',
        content: '<strong>A 24 horas de que tenga lugar la boda entre el jugador del FC Barcelona Lionel Messi y su pareja Antonella Rocuzzo se ha sabido que un ex jugador del Real Madrid está invitado al enlace.</strong>'
      },
      {
        _id: 'MJQIUVGPPJCSDGYDUFE6SIMB6U',
        type: 'text',
        additional_properties: { tag: 'p' },
        alignment: 'center',
        content: 'Entre los <a href = "http://as.com/tikitakas/2017/06/26/portada/1498509190_687200.html" target = "_blank">260 invitados a la celebración </a>
          está, cómo no, toda la plantilla del Barça y algunos ex jugadores azulgranas como Ronaldinho, Xavi, Cesc Fábregas o Deco, además de otras grandes figuras del fútbol mundial como Lavezzi y Agüero.'
      },
      {
        _id: '5HL7OES5BJDQPEVVMX3DH4D5AE',
        type: 'text',
        additional_properties: { tag: 'p' },
        alignment: 'center',
        content: 'Desde Diez, sin embargo, informan que estas no serían todas las caras conocidas que acudirán a la mediática boda, 
          que contará con <a href = "http://as.com/tikitakas/2017/06/28/portada/1498634766_750691.html" target = "_parent">todo tipo de comodidades para los invitados.</a> <strong>Un ex madridista estaría, 
            según la publicación, invitado al enlace y no sería otro que Ángel Di Maria.</strong>'
      },
      {
        _id: 'RBVQCVJDRZGS3OVHO3WW5FITKU',
        type: 'text',
        additional_properties: { tag: 'p' },
        alignment: 'center',
        content: 'El jugador del París Saint-Germain de la Ligue 1 de Francia y el delantero del FC Barcelona son compañeros en la Selección Argentina<strong>, </strong>por lo que esta información parece bastante lógica.'
      },
    ]

Мне нужно получить доступ к свойству содержимого и выяснить, есть ли внутри какой-либо атрибут «цель», и если он равен _parent, удалите его.

Я пытался сделать это, сначала найти атрибут внутри контента, но не могу добиться:

const newGroupElements = groupedElements.map(element =>
      element.content.includes("_parent")  ? {...element, content: 'i found you'} : element)

Спасибо за ваш свет в моих знаниях.

Итак, вы хотите прямо удалить content в матче?

Louys Patrice Bessette 20.03.2022 19:47

я хочу найти и удалить целевой атрибут внутри контента, если target=_parent.

ddaudiosolutions 20.03.2022 19:50
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
45
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Чтобы удалить атрибут target в строке content совпадающего includes():

const newGroupElements = groupedElements.map(element => {
  if (element.content.includes("_parent")){
    element.content = element.content.replace(/target = ".+"/, "")
  }
  return element
})

Или, может быть, просто

const newGroupElements = groupedElements.map(element => element.content.replace(' target = "_parent"', ""))

Это функция, которую вам нужно использовать:

groupedElements = groupedElements.map(val=>{
       if (val.includes("_parent")&&val.includes("target")) {
          let i = val.indexOf("target");
          val = val.split("");
          val.splice(i,"target='_parent'".length);
          val = val.join("");
       }
       return val;
    })

const groupedElements = [
      {
        _id: 'OVTBLNCDYBHP3IKUFQLGQF6AC4',
        type: 'text',
        additional_properties: { tag: 'p' },
        alignment: 'center',
        content: '<strong>A 24 horas de que tenga lugar la boda entre el jugador del FC Barcelona Lionel Messi y su pareja Antonella Rocuzzo se ha sabido que un ex jugador del Real Madrid está invitado al enlace.</strong>'
      },
      {
        _id: 'MJQIUVGPPJCSDGYDUFE6SIMB6U',
        type: 'text',
        additional_properties: { tag: 'p' },
        alignment: 'center',
        content: 'Entre los <a href = "http://as.com/tikitakas/2017/06/26/portada/1498509190_687200.html" target = "_blank">260 invitados a la celebración </a>\
          está, cómo no, toda la plantilla del Barça y algunos ex jugadores azulgranas como Ronaldinho, Xavi, Cesc Fábregas o Deco, además de otras grandes figuras del fútbol mundial como Lavezzi y Agüero.'
      },
      {
        _id: '5HL7OES5BJDQPEVVMX3DH4D5AE',
        type: 'text',
        additional_properties: { tag: 'p' },
        alignment: 'center',
        content: 'Desde Diez, sin embargo, informan que estas no serían todas las caras conocidas que acudirán a la mediática boda, \
          que contará con <a href = "http://as.com/tikitakas/2017/06/28/portada/1498634766_750691.html" target = "_parent">todo tipo de comodidades para los invitados.</a> <strong>Un ex madridista estaría, \
            según la publicación, invitado al enlace y no sería otro que Ángel Di Maria.</strong>'
      },
      {
        _id: 'RBVQCVJDRZGS3OVHO3WW5FITKU',
        type: 'text',
        additional_properties: { tag: 'p' },
        alignment: 'center',
        content: 'El jugador del París Saint-Germain de la Ligue 1 de Francia y el delantero del FC Barcelona son compañeros en la Selección Argentina<strong>, </strong>por lo que esta información parece bastante lógica.'
      },
    ]
    groupedElements = groupedElements.map(val=>{
   if (val.includes("_parent")&&val.contains("target")) {
      let i = val.indexOf("target");
      val = val.split("");
      val.splice(i,"target='_parent'".length);
      val = val.join("");
   }
   return val;
})
    console.info(groupedElements)
    
target находится внутри строки в свойстве content. Нет свойства target для удаления...
Louys Patrice Bessette 20.03.2022 20:06

Ох... понял.

Hritik Sharma 20.03.2022 20:11

Другие вопросы по теме