Considere la siguiente matriz en Javascript:
var array1 = ['S', 'T', 'A', 'C', 'K', 'O', 'V', 'E', 'R', 'F', 'L', 'O', 'W'];Ahora quiero reemplazar todos los elementos a la vez desde el índice 3 al 9 de la siguiente manera:
array1 = ['S', 'T', 'A', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'L', 'O', 'W'];¿Es posible lograr en javascript?
Nota : quiero realizar la siguiente operación usando solo una matriz
Usar Array.fill()
var array1 = ['S', 'T', 'A', 'C', 'K', 'O', 'V', 'E', 'R', 'F', 'L', 'O', 'W']; array1.fill('X', 3, 10) console.log(array1)Utilice el método de empalme de matriz ()
var array1= ['S', 'T', 'A', 'C', 'K', 'O', 'V', 'E', 'R', 'F', 'L', 'O', 'W']; // At position 3, delete 7 and add 7 elements: array1.splice(3, 7, "X","X","X","X","X","X","X"); console.log(array1);Una forma es con Array.prototype.map :
Esto recorre todos los índices de la matriz, y si el índice está entre 3 y 9 (inclusive), configúrelo en 'X'; de lo contrario, manténgalo como el chr original (carácter)
var array1 = ['S', 'T', 'A', 'C', 'K', 'O', 'V', 'E', 'R', 'F', 'L', 'O', 'W']; var array2 = array1.map((chr, idx) => 3 <= idx && idx <= 9 ? 'X' : chr); console.log(array2);