js 构建map 和list

//构建map
function Map() {
    this.arr = new Array();
    var struct = function(key, value) {
            this.key = key;
            this.value = value;
    };
    this.keySet = function() {
        var arrKeys = new Array();
        for(var i = 0; i < this.arr.length; i++) {
            arrKeys.push(this.arr[i].key);
        }
        return arrKeys;
    };
    this.put = function(key, value){
          for (var i = 0; i < this.arr.length; i++) {
              if ( this.arr[i].key === key ) {
                     this.arr[i].value = value;
                    return;
               }
          }
       this.arr[this.arr.length] = new struct(key, value);
    };
    this.get = function(key) {
       for (var i = 0; i < this.arr.length; i++) {
          if ( this.arr[i].key === key ) {
               return this.arr[i].value;
            }
        }
      return null;
     };
     this.values=function(){
        var value=[]
       for (var i = 0; i < this.arr.length; i++) {
          value.push(this.arr[i].value);
       }
       return value.join(",");
     };
     this.remove = function(key) {
       var v;
       for (var i = 0; i < this.arr.length; i++) {
          v = this.arr.pop();
          if ( v.key === key ) {
           continue;
       }
       this.arr.unshift(v);
      }
     };
     this.size = function() {
      return this.arr.length;
     };
     this.isEmpty = function() {
         return this.arr.length <= 0;
     };
} 

/**
 * js实现list
 *
 */
function List() {
    this.value = [];  

    /* 添加 */
    this.add = function(obj) {
        return this.value.push(obj);
    };  

    /* 大小 */
    this.size = function() {
        return this.value.length;
    };  

    /* 返回指定索引的值 */
    this.get = function(index) {
        return this.value[index];
    }
    /*返回指定对象的索引
     */
    this.indexOf = function(obj) {
        for ( var i in this.value) { 

            if (obj == this.value[i]) {
                return i;
            }
        }
    };
    /* 删除指定索引的值 */
    this.remove = function(index) {
        this.value.splice(index,1);
        return this.value;
    };  

    /* 删除全部值 */
    this.removeAll = function() {
        return this.value = [];
    };  

    /* 是否包含某个对象 */
    this.constains = function(obj) {
        for ( var i in this.value) {
            if (obj == this.value[i]) {
                return true;
            } else {
                continue;
            }
        }
        return false;
    };  

    /* 是否包含某个对象 */
    this.getAll = function() {
        var allInfos = ‘‘;
        for ( var i in this.value) {
            if(i != (value.length-1)){
                allInfos += this.value[i]+",";
            }else{
                allInfos += this.value[i];
            }
        }
        alert(allInfos);
        return allInfos += this.value[i]+",";;
    };  

} 
时间: 2024-11-04 12:08:01

js 构建map 和list的相关文章

使用 Vuex + Vue.js 构建单页应用

鉴于该篇文章阅读量大,回复的同学也挺多的,特地抽空写了一篇 vue2.0 下的 vuex 使用方法,传送门:使用 Vuex + Vue.js 构建单页应用[新篇] -------------------- 华丽的分割线 -------------------- 原文地址:https://coligo.io/learn-vuex-by-building-notes-app/ 前言:在最近学习 Vue.js 的时候,看到国外一篇讲述了如何使用 Vue.js 和 Vuex 来构建一个简单笔记的单页应用

js构建form进行post提交

//构建post方式提交 var form = document.createElement("form"); form.action = "conditionSearch.action"; form.method = "POST"; form.style.display = "none"; //构建input并附加参数 //查询条件 var conditionText = document.createElement(&qu

Grunt JS构建环境搭建以及使用入门

Grunt JS构建环境搭建以及使用入门 1.应用场景 一种自动化任务处理工具,对于日常的需求(代码规则检查.代码合并)可以实现自动化执行,只需要保留package.json和Gruntfile.js便能用一句代码行进行依赖下载. 2.搭建步骤 Grunt 依赖 Node.js 所以在安装之前确保你安装了 Node.js,然后开始安装 Grunt. 2.1安装 Node.js 进入nodejs官网https://nodejs.org/en/download/,根据当前机型选择对应版本下载安装后,

&lt;&lt;&lt; Js对map的操作

var map = {}; // 赋值 var key = "key1"; var value = "value1"; map[key] = value; // 取值 alert(map[key]); if("key1" in map) { //判断是否存在 alert("OK"); } // 删除 delete map["key1"]; // 遍历 for(key in map){ console(key

js自定义Map

function Map() {    this.elements = new Array(); //得到map的大小    this.size = function() {        return this.elements.length;    } //判断是否为空    this.isEmpty = function() {        return (this.elements.length < 1);    }    //清空    this.clear = function()

js Array Map and Set

Array slice slice()就是对应String的substring()版本,它截取Array的部分元素,然后返回一个新的Array: var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G']; arr.slice(0, 3); // 从索引0开始,到索引3结束,但不包括索引3: ['A', 'B', 'C'] arr.slice(3); // 从索引3开始到结束: ['D', 'E', 'F', 'G'] Note:slice()的起止参数包括开始索

使用JS构建简单Map(转)

转载自:http://freejvm.iteye.com/blog/768025 最近使用源生的js处理页面数据,所谓源生的就是指没有经过包装的.最基本的JavaScript代码: 像使用ext,jQuery...说成非源生的代码:自己做个轮子:一个简单的map: 在js里,对象是属性的集合,属性是合法的js标识符,属性名是String类型: 属性可以有值,也可以没值(undefined),属性的值可以是原始类型,也可以是对象: js里,函数也是对象,值为函数的属性是对象的方法: 可以在运行时为

js创建map

function Map() { var struct = function(key, value) { this.key = key; this.value = value; } var put = function(key, value){ for (var i = 0; i < this.arr.length; i++) { if ( this.arr[i].key === key ) { this.arr[i].value = value; return; } } this.arr[th

js构建函数优秀案例

这几个效果函数是看到别人写的,挺好的,复制下来学习备用! 函数封装: //var _hmt = _hmt || [];(function() {var hm = document.createElement("script");hm.src = "//hm.baidu.com/hm.js?62be88d37b49a5ca149df10c84d83824";var s = document.getElementsByTagName("script"