增加一个向列表中插入元素的方法,该方法只在待插入元素大于列表中的所有元素时才执行插入操作。这里的大于有多重含义,对于数字,它是数值上的大小;对于字母,它是指在unicode的大小比较
//先定义一个List构造函数(类)
function List() {
this.listSize = 0;//列表中元素的个数
this.pos = 0;//当前
this.dataSource = [];
this.clear = clear;
this.find = find;
this.toString = toString;
this.insert = insert;
this.append = append;
this.remove = remove;
this.front = front;
this.end = end;
this.prev = prev;
this.next = next;
this.hasNext;
this.hasPrev;
this.length = length;
this.currPos = currPos;
this.moveTo = moveTo;
this.getElement = getElement;
this.contains = contains;
}
//这里就不一一实现每个方法了,直接实现上述问题中的方法
function insert(element,after) {
//传入的element为待插入列表的元素,after是指插入在哪个元素的位置之后
var flag = this.dataSource.every(function(item){
return item<element;
});
if(flag){
let insertPos = this.find(after);
if(insertPos > -1){
this.dataSource.splice(insertPos+1 , 0 , element);
return true;
}
}else{
console.log("待插入的元素必须大于列表中的每一个元素");
}
}