у меня есть сомнения, которые я не могу решить.
У меня есть эти данные, которые я получил:
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)
Спасибо за ваш свет в моих знаниях.
я хочу найти и удалить целевой атрибут внутри контента, если target=_parent.
Чтобы удалить атрибут 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
для удаления...
Ох... понял.
Итак, вы хотите прямо удалить
content
в матче?