¿Hay alguna forma de triplicar solo ciertos elementos en una matriz? Solo quiero triplicar el "3" en la matriz. Por ejemplo: const mazo = [1, 3, 9, 3, 7]; debe convertirse en [1, 3, 3, 3, 9, 3, 3, 3, 7]
He probado el siguiente método, la cubierta es la matriz aleatoria:
var i; for (let i=0;i<deck.length;i++){ if (deck[i]==3){ return deck.flatMap(x=>[x,x,x]); }else return deck[i]; } }Podría escribir una función que use flatMap() para mapear sobre la matriz y triplicar los valores específicos.
const deck = [1, 3, 9, 3, 7]; const triplicate = (number, arr) => { return arr.flatMap(x => x === number ? [x, x, x]: x); } console.log(triplicate(3, deck));Usando Array#flatMap :
const triplicate = (arr = [], number) => arr.flatMap(n => n === number ? [n, n, n] : n); console.log( triplicate([1, 3, 9, 3, 7], 3) );