Digamos que tengo dos matrices diferentes:
const a = ['a', 'b', 'c', 'd', 'e', 'f'];y
const b = ['g', 'h', 'i', 'j', 'k', 'l'];y quiero colocar 'c' en la posición de 'l' y viceversa, así:
const a = ['a', 'b', 'l', 'd', 'e', 'f']; const b = ['g', 'h', 'i', 'j', 'k', 'c'];¿Cómo puedo conseguir esto?
Lo hago así porque estoy organizando un conjunto de valores en páginas, y cada página contiene un máximo de 6 elementos.
Puede usar la desestructuración de matrices para intercambiar elementos.
const a = ['a', 'b', 'c', 'd', 'e', 'f']; const b = ['g', 'h', 'i', 'j', 'k', 'l']; let idxC = a.indexOf('c'), idxL = b.indexOf('l'); [a[idxC], b[idxL]] = [b[idxL], a[idxC]]; console.log(JSON.stringify(a)); console.log(JSON.stringify(b));Otra forma de intercambiar elementos, un poco demasiado ingeniosa, pero perdóname.
const a = ['a', 'b', 'c', 'd', 'e', 'f']; const b = ['g', 'h', 'i', 'j', 'k', 'l']; const pair = ['c','l']; const divider = '//'; const aa = a.join(divider).replaceAll(...pair).split(divider); const bb = b.join(divider).replaceAll(...pair.reverse()).split(divider); console.log(...aa); console.log(...bb); .as-console-wrapper{min-height: 100%!important; top: 0}