¡Splice() en realidad no funciona en javascript!
const nums = ["1", "2", "3", "4", "5"]; nums.splice(0, 1); nums.splice(1, 1); nums.splice(2, 1); console.log(nums);Pero la salida que quiero es esta:
[ "4", "5" ]¿Qué debo hacer?
Está funcionando exactamente previsto. Cada vez que splice , cambia los nums y las posiciones de índice de cada elemento también cambian. Puede ver esto si console.log cada vez que splice . Puede eliminar tantos elementos como desee a la vez si solo cambia un poco los parámetros.
const nums = ["1", "2", "3", "4", "5"]; nums.splice(0, 1); console.log("splice(0,1)", nums); nums.splice(1, 1); console.log("splice(1,1)", nums); nums.splice(2, 1); console.log("splice(2,1)", nums); const nums2 = ["1", "2", "3", "4", "5"]; nums2.splice(0,3); console.log("splice(0,3)", nums2); .as-console-wrapper { max-height: 100% !important; }¡Splice() en realidad está funcionando en javascript!
Es obvio que no lo entiende, cada vez que divide el elemento se elimina y obtiene una nueva cadena, lo que quiere hacer aquí es esto:
const nums = ["1", "2", "3", "4", "5"]; nums.splice(0, 1); nums.splice(0, 1); nums.splice(0, 1); console.log(nums);O esto:
const nums = ["1", "2", "3", "4", "5"]; nums.splice(0, 3); console.log(nums); [ "4", "5" ]Esto es lo que debes hacer.