代码拉取完成,页面将自动刷新
// 定义列表类
class List {
constructor() {
// 定义列表的元素个数
this.listSize = 0;
// 列表的位置指针
this.pos = 0;
// 列表的数据存储
this.dataSource = [];
}
// append: 列表增加元素
append(element) {
this.dataSource[this.listSize++] = element;
}
// remove: 列表中删除元素
remove(element) {
var findAt = this.find(element);
if (findAt > -1) {
this.dataSource.splice(findAt, 1);
--this.listSize;
return true;
}
return false;
}
// find:辅助方法,用于查找要操作的元素
find(element) {
for (var i = 0; i < this.listSize; i++) {
if (this.dataSource[i] === element) {
return i;
}
}
return -1;
}
// length:返回列表中的元素个数
length() {
return this.listSize;
}
// toString: 返回列表的字符串形式
toString() {
return this.dataSource.toString();
}
// insert: 向列表中添加一个元素
insert(element, after) {
var insertPos = this.find(after);
if (insertPos > -1) {
this.dataSource.splice(insertPos + 1, 0, element);
++this.listSize;
return true;
}
return false;
}
// clear: 清空列表中的元素
clear() {
this.dataSource.length = 0;
this.listSize = this.pos = 0;
}
// front:指针归零(移动到列表的第一个元素的位置)
front() {
this.pos = 0;
}
// end: 指针移动到列表的最后一个元素的位置
end() {
this.pos = this.listSize - 1;
}
// hasPrev: 判断指针是否可以向前移动
hasPrev() {
return this.pos > 0
}
// hasNext: 判断指针是否可以向后移动
hasNext() {
return this.pos < this.listSize - 1
}
// moveTo: 修改指针的位置
moveTo(position) {
if (0 <= position && position <= this.listSize - 1) {
this.pos = position;
}
}
// prev: 指针向前移动一位
prev() {
if (this.hasPrev()) {
--this.pos;
}
}
// next: 指针向后移动一位
next() {
if (this.hasNext()) {
++this.pos;
}
}
// getElement: 获取列表中指针所对应的元素
getElement() {
return this.dataSource[this.pos];
}
// currPos: 返回当前指针位置
currPos() {
return this.pos;
}
}
// 列表联系
//1.向列表中插入一个元素,只要当该元素大于列表中的所有元素的时候,才执行插入操作
class List1 extends List{
canInsert(element){
const max = Math.max.apply(null,this.dataSource);
if (element > max) {
this.append(element);
}
else{
console.log('插入失败');
}
}
}
const list1 = new List1();
list1.canInsert(1);
list1.canInsert(2);
list1.canInsert(10);
list1.canInsert(5);
console.log(list1);
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。