Soy nuevo con JavaScript. Ayuda por favor
Estaba jugando con el método - console.log. Aquí esta lo que hice:
let iceCreamFlavors = ["Chocolate", "Strawberry", "Vanilla", "Pistachio", "Neapolitan", "Mint Chip"]; delete iceCreamFlavors[iceCreamFlavors.length-1]; console.log(iceCreamFlavors[length-1])la consola volvió con
undefinedsi lo hago:
console.log(iceCreamFlavors[5])
no tiene problema para imprimir
Mint Chippero si lo hago:
console.log(iceCreamFlavors[-1])volvió con
undefinedentonces mi pregunta es ¿por qué no puede console.log trabajar con números de índice en orden inverso? Tal vez no sea de mucha utilidad en la realidad, pero solo tengo curiosidad.
La palabra clave delete se usa para eliminar las propiedades del Object y no los elementos de la matriz; para eliminar un elemento de la matriz, use Array.prototype.filter() o Array.prototype.splice()
Splice modificará la matriz original, mientras que el filtro devolverá una nueva matriz que pasa la condición especificada en la devolución de llamada.
let iceCreamFlavors = ["Chocolate", "Strawberry", "Vanilla", "Pistachio", "Neapolitan", "Mint Chip"]; iceCreamFlavors.splice(5, 1); console.log(iceCreamFlavors); let iceCreamFlavors = ["Chocolate", "Strawberry", "Vanilla", "Pistachio", "Neapolitan", "Mint Chip"]; const filter = iceCreamFlavors.filter(x => x != 'Mint Chip'); console.log(filter); Nota : puede acceder a los elementos de la matriz usando array[index] , el índice tiene un rango de 0 to array.length - 1 . Las matrices comienzan desde el índice 0, lo que significa que el primer elemento tendrá el índice 0 y el segundo tendrá el índice 1, etc.
let iceCreamFlavors = ["Chocolate", "Strawberry", "Vanilla", "Pistachio", "Neapolitan", "Mint Chip"]; iceCreamFlavors.splice(5, 1); console.log(iceCreamFlavors.length); // array length console.log(iceCreamFlavors[iceCreamFlavors.length - 1]); // last element console.log(iceCreamFlavors[0]); // first elementeliminar vs empalmar en matriz
eliminar no cambiará la longitud ni reindexará la matriz, el elemento dado se elimina pero aparece como undefined
el empalme eliminará completamente el elemento además de cambiar la longitud y reindexar los elementos