📜  JavaScript中Array类的实现

📅  最后修改于: 2022-05-13 01:56:25.051000             🧑  作者: Mango

JavaScript中Array类的实现

本文使用 JavaScript 实现数组。数组是一种简单的数据结构,其中元素存储在连续的内存位置。数组的实现执行各种操作,例如在数组末尾推送(添加元素)、弹出(删除元素)元素、从特定索引获取元素、从特定索引插入和删除元素。

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 = {}; 
    }
}

在上面的例子中,创建一个类Array ,它包含两个属性,即lengthdata ,其中length将存储数组的长度,而data是一个用于存储元素的对象。

数组中的函数:数组中有许多函数,如下所示:

  • 推()
  • 流行音乐()
  • 插入()
  • 删除时间()
  • getElementAtIndex()

Push(element):此函数用于将元素压入数组末尾。

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

pop():用于删除数组末尾的一个元素。

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

在上面的例子中, item变量将存储数据对象的最后一个元素并删除最后一个元素,然后将长度减 1 并返回该对象。

insertAt():此函数用于在给定索引处插入元素。

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;
}

该函数接受两个参数 item 和 index。索引号表示要插入数据的位置,item 是要在索引处插入的值。

deleteAt(index):此函数用于删除数据对象中给定索引或属性处的元素。

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;
}

在上述函数中,使用循环到达索引直到结束,并在索引处复制下一个元素,并且在循环结束时存在最后一个元素的两个副本,通过删除运算符删除最后一个元素。

getElementAtIndex(index):返回给定索引处的元素。

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

示例:该函数描述了数组类的实现及其各种操作。



  

    
        Implementation of array
    

  

    

                    

输出: