Recientemente estoy practicando preguntas algorítmicas. Hay uno que calcula si una cadena es lexicográficamente más pequeña o más grande. Tengo que encontrar dígitos, eliminarlos uno por uno para compararlos con otra cadena.
IE -- 'ab23f' >> 'ab3f' >> 'ab2f'
function test(a1,a2){ let str1 = a1.split(""); let str2 = a2.split(""); for(let i = 0; i<str1.length;i++){ let clone = str1; if(!isNaN(clone[i])){ let index = str1.indexOf(str1[i]); clone.splice(index,1); } } } test('ab12c','1zz456');El problema es; ¿No debería estar reasignando la variable de clonación a str1 en cada bucle? Tengo que mantener segura la matriz original para poder eliminar los dígitos uno por uno. así que encontré esta solución para hacer una clonación y, al comienzo de cada ciclo, debería reasignarse igual que la matriz original, pero la variable de clonación no se actualiza/reasigna.
He intentado sacar la variable de clonación del bloque pero nada cambia.