• js list


    /*列表*/
    function List()
    {
        this.data = [];
        this.length = 0;
        this.position = 0;
    
    
        //判断给定值是否在列表中
        var contains = function(element){
            for(var i=0; i<this.length; ++i){
                if(this.data[i] === element){
                    return true;
                }
            }
            return false;
        };
        //从列表中查找元素,成功返回索引,失败返回-1.
        var find = function(element){
            for(var i=0; i<this.length; ++i){
                if(this.data[i] === element){
                    return i;
                }
            }
            return -1;
        };
        //为列表末尾追加元素
        var append = function(element){
            this.data[this.length++] = element;
        };
        //向列表元素之后插入
        var insert = function(element,after){
            var index = this.find(after);
            if(index > -1){
                this.data.splice(index,1,element);
                ++this.length;
                return true;
            }
            return false;
        };
        //从列表中删除元素
        var remove = function(element){
            var index = this.find(element);
            if(index > -1){
                this.data.splice(index,1);
                --this.length;
                return true;
            }
            return false;
        };
        //获取列表长度,即列表中元素的个数。
        var size = function(){
            return this.length;
        };
        //显示列表中的元素
        var toString = function(){
            return this.data;
        };
        //清空列表中所有元素
        var clear = function(){
            this.length = 0;
            this.position = 0;
            delete this.data;//删除数组
            this.data = [];
        };
    
        //当前项目
        var curele = function(){
            return this.data[this.position];
        };
        var curpos = function(){
            return this.position;
        };
        //在列表自由移动
        var front = function(){
            this.position = 0;
        };
        var end = function(){
            this.position = this.length-1;
        };
        var prev = function(){
            if(this.position > 0){
                --this.position;
            }
        };
        var next = function(){
            if(this.position < this.length-1){
                ++this.position;
            }
        };
        var moveto = function(position){
            this.position = position;
        };
    
        this.append = append;
        this.size = size;
        this.toString = toString;
        this.find = find;
        this.remove = remove;
        this.clear = clear;
        this.contains = contains;
        //当前项目
        this.curele = curele;
        this.curpos = curpos;
        //迭代器行为
        this.front = front;
        this.end = end;
        this.prev = prev;
        this.next = next;
        this.moveto = moveto;
    }
    0人点赞
    javascript
    
    
    作者:JunChow520
    链接:https://www.jianshu.com/p/9ead26d862b8
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    04747_Java语言程序设计(一)_第9章_输入和输出流
    如何发布自己的服务---zookeeper
    django获取前端有multiple属性的select的多选项
    MYSQL性能优化的最佳20+条经验
    select * from 为什么效率低?
    django无法同步数据库 Error loading MySQLdb module: No module named ‘MySQLdb‘
    SQL的主键和外键和唯一约束
    为什么要把某些数据库表设计成一对一的关系
    Bootstrap 模态框(Modal)插件数据传值
    Django模板遍历字典的方法
  • 原文地址:https://www.cnblogs.com/browser/p/14458866.html
Copyright © 2020-2023  润新知