Implementación de la clase Array en JavaScript

Este artículo implementando Arrays usando JavaScript. Una array es una estructura de datos simple, en la que los elementos se almacenan en ubicaciones de memoria contiguas. La implementación de arrays realiza varias operaciones como empujar (agregar elemento), extraer (eliminar elemento) elemento al final de la array, obtener el elemento de un índice particular, insertar y eliminar un elemento de un índice particular.

Clase de array en JavaScript:

// User defined class Array
class Array {
  
    // Create constructor
    constructor() {  
      
        // It store the length of array.
        this.length = 0; 
          
        // Object to store elements.
        this.data = {}; 
    }
}

En el ejemplo anterior, cree una clase Array que contenga dos propiedades, es decir , length y data , donde length almacenará la longitud de una array y data es un objeto que se utiliza para almacenar elementos.

Función en array: hay muchas funciones en array que se enumeran a continuación:

  • Empujar()
  • Estallido()
  • insertAt()
  • eliminar en()
  • getElementAtIndex()

Empujar (elemento): esta función se usa para empujar un elemento al final de la array.

push(element) {
    this.data[this.length] = element;
    this.length++;
    return this.data;
}

Pop(): Se utiliza para eliminar un elemento al final de la array.

pop() {
    let item = this.data[this.length-1];
    delete this.data[this.length-1];
    this.length--;
    return this.data;
}

En el ejemplo anterior, la variable del elemento almacenará el último elemento del objeto de datos y realizará la eliminación del último elemento y luego, disminuirá la longitud en 1 y devolverá el objeto.

insertAt(): esta función se utiliza para insertar un elemento en el índice dado.

insertAt(item, index) {
    for(let i=this.length;i>=index;i--) {
      this.data[i]=this.data[i-1];
    }
    this.data[index]=item;
    this.length++; 
    return this.data;
}

Esta función acepta dos parámetros item e index. Número de índice que indica el lugar donde se insertarán los datos y el elemento es el valor que se insertará en el índice.

deleteAt(index): esta función se utiliza para eliminar un elemento en un índice o propiedad dados en un objeto de datos.

deleteAt(index) {
    for(let i = index; i < this.length - 1; i++) {
      this.data[i] = this.data[i+1];
    }
    delete this.data[this.length-1];
    this.length--;
    return this.data;
}

En la función anterior, use el ciclo para llegar al índice hasta el final, y copie el siguiente elemento en el índice y al final del ciclo existen dos copias del último elemento, elimine el último elemento a través del operador de eliminación .

getElementAtIndex(index): Devuelve el elemento en el índice dado.

getElementAtIndex(index) {
    return this.data[index];
}

Ejemplo: esta función describe la implementación de la clase de array y sus diversas operaciones.

<!DOCTYPE html>
<html>
  
<head>
    <title>
        Implementation of array
    </title>
</head>
  
<body>
    <script>
        class Array{
      constructor(){
        this.length=0;
        this.data={};
      }
      getElementAtIndex(index){
        return this.data[index];
      }
      push(element){
        this.data[this.length]=element;
        this.length++;
        return this.length;
      }
      pop(){
        const item= this.data[this.length-1];
        delete this.data[this.length-1];
        this.length--;
        return this.data;
      }
      deleteAt(index){
        for(let i=index; i<this.length-1;i++){
          this.data[i]=this.data[i+1];
        }
        delete this.data[this.length-1];
        this.length--;
        return this.data;
      }
      insertAt(item, index){
        for(let i=this.length;i>=index;i--){
          this.data[i]=this.data[i-1];
        }
        this.data[index]=item;
        this.length++;
        return this.data;
      }
    }
    const array= new Array(); //we are instantiating an object of Array class
    array.push(12);
    array.push(13); //pushing element 
    array.push(14);
    array.push(10);
    array.push(989);
    document.write("<div>Print element in an array</div>");
    for(var key in array.data){
      document.write("<span>"+array.data[key]+" "+"</span>"); 
    }
      
      
    document.write("<div>Pop element in an array</div>");
    array.pop(); //Popping element 989
    for(var key in array.data){
      document.write("<span>"+array.data[key]+" "+"</span>"); 
    }
      
      
    document.write("<div>Inserting element at position 2</div>");
    array.insertAt(456, 2); //Inserting element 456
    for(var key in array.data){
      document.write("<span>"+array.data[key]+" "+"</span>"); 
    }
      
    document.write("<div>deleting element at position 3</div>");
    array.deleteAt(3); //Deleting 14
    for(var key in array.data){
      document.write("<span>"+array.data[key]+" "+"</span>"); 
    }
      
    document.write("<div>Getting  element at position 2</div>");
    document.write("<div>"+array.getElementAtIndex(2)+"</div>");
    </script>
</body>
</html>                    

Producción:

Publicación traducida automáticamente

Artículo escrito por shubhdwiv123 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *