js 实现list
实现列表的基本方法
在JavaScript中,列表可以通过数组(Array)来实现。数组提供了一系列方法来操作列表数据。

// 创建空列表
let list = [];
// 添加元素
list.push('item1');
list.push('item2');
// 访问元素
console.log(list[0]); // 输出: item1
// 删除最后一个元素
list.pop();
列表常用操作方法
数组提供了丰富的内置方法来操作列表数据。

// 遍历列表
list.forEach(item => console.log(item));
// 映射新列表
const newList = list.map(item => item.toUpperCase());
// 过滤列表
const filteredList = list.filter(item => item.length > 3);
// 查找元素
const foundItem = list.find(item => item === 'item1');
类数组对象实现
如果需要自定义列表行为,可以创建类数组对象。
class CustomList {
constructor() {
this.length = 0;
this.items = {};
}
push(element) {
this.items[this.length] = element;
this.length++;
}
pop() {
if (this.length === 0) return undefined;
this.length--;
const item = this.items[this.length];
delete this.items[this.length];
return item;
}
}
const myList = new CustomList();
myList.push('a');
myList.push('b');
链表实现
对于更高级的列表结构,可以实现链表。
class Node {
constructor(data) {
this.data = data;
this.next = null;
}
}
class LinkedList {
constructor() {
this.head = null;
this.size = 0;
}
add(data) {
const node = new Node(data);
if (!this.head) {
this.head = node;
} else {
let current = this.head;
while (current.next) {
current = current.next;
}
current.next = node;
}
this.size++;
}
}
const list = new LinkedList();
list.add(1);
list.add(2);
性能考虑
数组在大多数情况下已经足够高效,但在频繁插入删除操作的场景下,链表可能更合适。JavaScript引擎对数组进行了高度优化,通常数组操作比自定义链表更快。






