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 ,它包含两个属性,即length和data ,其中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
输出: