在JavaScript中,模拟C#中`List
以下是一个简单的示例,展示了如何在JavaScript中创建一个模拟`List
class List {
constructor() {
this.items = []; // 初始化一个空数组来存储元素
}
// 添加元素到列表末尾
add(item) {
this.items.push(item);
}
// 在指定索引处插入元素
insert(index, item) {
if (index >= 0 && index <= this.items.length) {
this.items.splice(index, 0, item);
} else {
throw new Error("Index out of range");
}
}
// 移除并返回指定索引处的元素
removeAt(index) {
if (index >= 0 && index < this.items.length) {
return this.items.splice(index, 1)[0];
} else {
throw new Error("Index out of range");
}
}
// 移除列表中第一个匹配的元素
remove(item) {
const index = this.items.indexOf(item);
if (index !== -1) {
this.items.splice(index, 1);
return true;
}
return false;
}
// 获取列表中指定索引的元素
get(index) {
if (index >= 0 && index < this.items.length) {
return this.items[index];
} else {
throw new Error("Index out of range");
}
}
// 获取列表的长度
get length() {
return this.items.length;
}
// 遍历列表
forEach(callback) {
this.items.forEach(callback);
}
// 转换为数组
toArray() {
return this.items.slice();
}
}
// 使用示例
const myList = new List();
myList.add(1);
myList.add(2);
myList.add(3);
console.log(myList.toArray()); // 输出: [1, 2, 3]
myList.insert(1, 1.5);
console.log(myList.toArray()); // 输出: [1, 1.5, 2, 3]
console.log(myList.removeAt(1)); // 输出: 1.5
console.log(myList.toArray()); // 输出: [1, 2, 3]
myList.remove(2);
console.log(myList.toArray()); // 输出: [1, 3]
console.log(myList.get(0)); // 输出: 1
这个`List`类提供了基本的`List