este es el registro
console.log(duckShoot(4, 0.64, '|~~2~~~22~2~~22~2~~~~2~~~|'));la salida debe ser====>|~~X~~~X2~2~~22~2~~~~2~~~|
aquí el código que he probado:
function duckShoot(ammo, aim, ducks) { let shot = Math.floor(ammo * aim) // console.log(shot); return ducks.replace (/2/g, "X") } cómo hacer que /2/g simplemente reemplace ciertas repeticiones
quiero hacer un código por encima de la misma función con esto
function Disparar patos (munición, apuntar, patos) {
let shot = Math.floor(ammo * aim) // console.log(shot); for (let i = 1; i <= shot; i++) { ducks = ducks.replace("2", "X"); } return ducks}
let c = 2; // how many you want to replace '|~~2~~~22~2~~22~2~~~~2~~~|'.replaceAll('2', o => (c-- >= 0) ? 'X':o )o puede mantener el reemplazo 'antiguo' con la expresión regular
'|~~2~~~22~2~~22~2~~~~2~~~|'.replace(/2/g, o => (c-- >= 0) ? 'X':o )mientras
(o) => (c-- >= 0) ? 'X':oes una función simple que disminuye el contador y devuelve una 'X' o mantiene el original