List of js

Posted 柠檬张先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了List of js相关的知识,希望对你有一定的参考价值。

function List(arr) {
    this.listSize  = arr.length; //列表元素个数
    this.pos       = 0;          //列表当前位置  
    this.dataStore = arr;        //初始化一个空数组来保存列表元素
}
List.prototype = {
    constructor: List,
    append: function(element) {
        this.dataStore[this.listSize++] = element;
    },
    find: function (element) {
        for (var i = 0; i < this.dataStore.length; ++i) {
            if (this.dataStore[i] == element) {
                return i;
            }
        }
        return -1;
    },
    remove: function (element) {
        var foundAt = this.find(element);

        if (foundAt > -1) {
            this.dataStore.splice(foundAt, 1);
            --this.listSize;
            return true;
        }
        return false;
    },
    length: function() {
        return this.listSize;
    },
    toString: function() {
        return this.dataStore;
    },
    insert: function (element, after) {
        var insertPos = this.find(after);

        if (insertPos > -1) {
            this.dataStore.splice(insertPos + 1, 0, element);
            ++this.listSize;
            return true;
        }
        return false;
    },
    clear: function() {
        delete this.dataStore;
        this.dataStore = [];
        this.listSize = this.pos = 0;
    },
    contains: function (element) {
        for (var i = 0; i < this.dataStore.length; ++i) {
            
            if (this.dataStore[i] == element) {
                return true;
            }
        }
        return false;
    },
    front: function() {
        this.pos = 0;
    },
    end: function() {
        this.pos = this.listSize-1;
    },
    prev: function() {

        if (this.pos > 0) {
            --this.pos;
        } else {
            console.log(‘已到达首页‘);
        }
    },
    next: function() {

        if (this.pos < this.listSize-1) {
            ++this.pos;
        } else {
            console.log(‘已到达末页‘);
        }
    },
    currPos: function() {
        return this.pos;
    },
    moveTo: function(position) {
        this.pos = position;
    },
    getElement: function() {
        return this.dataStore[this.pos];
    },
    displayObjList: function(Objtype) {
        for (var pos = 0; pos < this.length(); pos++) {
            if (this.dataStore[pos] instanceof Objtype) {
               console.log(this.dataStore[pos]["name"] + ", " +
                   this.dataStore[pos]["movie"]);
            } else {
              continue;
            }
        }
    },
    showAllList: function() {
        for (var pos = 0; pos < this.length(); pos++) {
               console.log(this.dataStore[pos]);
        }
    },
    checkOut: function(name, movie, customerList) {

        if (this.contains(movie)) {
            var c = new Customer(name, movie);
            customerList.append(c);
            this.remove(movie);
        } else {
            console.log(movie + " is not available.");
        }
    }
}

//文件数据
var string = ‘(1)The Shawshank Redemption( 《肖申克的救赎》 )‘
           + ‘(2)The Godfather( 《教父》 )‘
           + ‘(3)The Godfather: Part II( 《教父 2》 )‘
           + ‘(4)Pulp Fiction( 《低俗小说》 )‘
           + ‘(5)The Good, the Bad and the Ugly( 《黄金三镖客》 )‘
           + ‘(6)12 Angry Men( 《十二怒汉》 )‘
           + ‘(7)Schindler’s List( 《辛德勒名单》 )‘
           + ‘(8)The Dark Knight( 《黑暗骑士》 )‘
           + ‘(9)The Lord of the Rings: The Return of the King( 《指环王:王者归来》 )‘  
           + ‘(10)Fight Club( 《搏击俱乐部》 )‘
           + ‘(11)Star Wars: Episode V - The Empire Strikes Back( 《星球大战 5:帝国反击战》 )‘
           + ‘(12)One Flew Over the Cuckoo’s Nest( 《飞越疯人院》 )‘
           + ‘(13)The Lord of the Rings: The Fellowship of the Ring( 《指环王:护戒使者》 )‘
           + ‘(14)Inception( 《盗梦空间》 )‘
           + ‘(15)Goodfellas( 《好家伙》 )‘
           + ‘(16)Star Wars( 《星球大战》 )‘
           + ‘(17)Seven Samurai( 《七武士》 )‘
           + ‘(18)The Matrix( 《黑客帝国》 )‘
           + ‘(19)Forrest Gump( 《阿甘正传》 )‘
           + ‘(20)City of God( 《上帝之城》 )‘;
var movies = string.split(/\(\d+\)/g).splice(1);
var moviesList = new List(movies); //保存电影
var customers = new List([]); //保存租赁电影的顾客

//顾客类
function Customer(name, movie) {
    this.name = name;
    this.movie = movie;
};

console.log("Available movies is under follow: \n");
moviesList.showAllList();
var name = window.prompt(‘what is your name?‘);
var movie = window.prompt(‘which movies do your like to see?‘);
moviesList.checkOut(name, movie, customers);
console.log("Now available movies is under follow: \n");
moviesList.showAllList();

  

以上是关于List of js的主要内容,如果未能解决你的问题,请参考以下文章

Failed to convert property value of type ‘java.lang.String‘ to required type ‘int‘ for property(代码片段

报错:✘ http://eslint.org/docs/rules/indent Expected indentation of 0 s paces but found 2(代码片段

报错:✘ http://eslint.org/docs/rules/indent Expected indentation of 0 s paces but found 2(代码片段

List of js

Linked list of js

19. Remove Nth Node From End of List(js)