Tengo un objeto como este:
users = [{ "userid": "1", "fornonmods": "<div id=\"user1\" data-login=\"\" data-status=\"online\" class=\"item\">", "formods": "<div id=\"user1\" data-login=\"\" data-status=\"online\" class=\"item\">" }, { "userid": "19917", "fornonmods": "<div id=\"user19917\" data-login=\"kBr4pelyDy4yKVmiAAAD\" data-status=\"online\" class=\"item\">", "formods": "<div id=\"user19917\" data-login=\"kBr4pelyDy4yKVmiAAAD\" data-status=\"online\" class=\"item\">" }]; Quiero reemplazar todas las ocurrencias de
data-login=\"kBr4pelyDy4yKVmiAAAD\" data-status=\"online\"
con
data-login=\"kBr4pelyDy4yKVmiAAAD\" data-status=\"gagged\"
tal como lo haría con replace() pero la cuestión es que eso solo funciona con cadenas y no puedo convertir este objeto en una cadena.
¿Qué puedo hacer en estos casos?
Debe iterar sobre users y reemplazar con el patrón de regex .
const searchString = new RegExp('data-login=\"kBr4pelyDy4yKVmiAAAD\" data-status=\"online\"', 'g'); const replacement = 'data-login=\"kBr4pelyDy4yKVmiAAAD\" data-status=\"gagged\"'; const parsedUsers = users.map(x=>{ return { userid: x.userid, fornonmods: x.fornonmods.replace(searchString,replacement), formods: x.formods.replace(searchString,replacement) } })el map es lo que buscas
const users = [{ "userid": "1", "fornonmods": "<div id=\"user1\" data-login=\"\" data-status=\"online\" class=\"item\">", "formods": "<div id=\"user1\" data-login=\"\" data-status=\"online\" class=\"item\">" }, { "userid": "19917", "fornonmods": "<div id=\"user19917\" data-login=\"kBr4pelyDy4yKVmiAAAD\" data-status=\"online\" class=\"item\">", "formods": "<div id=\"user19917\" data-login=\"kBr4pelyDy4yKVmiAAAD\" data-status=\"online\" class=\"item\">" }]; const id = "kBr4pelyDy4yKVmiAAAD"; const res = users.map(x => { const container = {}; container.userid = x.userid, container.fornonmods = x.fornonmods.replace(`data-login=\"${id}\" data-status=\"online\"`, `data-login=\"${id}\" data-status=\"gagged\"`); container.formods = x.formods.replace(`data-login=\"${id}\" data-status=\"online\"`, `data-login=\"${id}\" data-status=\"gagged\"`); return container; }); console.log(res);https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map