js05---js实现Map

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Untitled Document</title>
        <script type=text/javascript charset=utf-8>
/*
function Map(){
    this.name = "sss";
    console.log("sssssss");
    this.say = function(){console.log("hhhhhhhh");}
}
Map();//sssssss,window是Map类的一个实例化对象。var window = new Map()
console.log(window.name);//sss
window.say();//hhhhhhhh
var m = new Map();//sssssss,m是Map类的实例化对象
console.log(m.name);//sss
*/

        function Map(){
            // private,局部变量
            var obj = {} ;// 空的对象容器,承装键值对

            // put 方法
            this.put = function(key , value){
                    obj[key] = value ;        // 把键值对绑定到obj对象上
            }

            // size 方法 获得map容器的个数
            this.size = function(){
                    var count = 0 ;
                    for(var attr in obj){
                        count++;
                    }
                    return count ;
            }

            // get 方法 根据key 取得value
            this.get = function(key){
                if(obj[key] || obj[key] === 0 || obj[key] === false){//obj[key]为0或者false,不走这里了。
                    return obj[key];
                } else {
                    return null;
                }
            }

            //remove 删除方法
            this.remove = function(key){
                if(obj[key] || obj[key] === 0 || obj[key] === false){
                    delete obj[key];
                }
            }

            // eachMap 变量map容器的方法
            this.eachMap = function(fn){
                    for(var attr in obj){
                        fn(attr, obj[attr]);
                    }
            }
        }

        //模拟java里的Map
        var m = new  Map();
        m.put(‘01‘ , ‘abc‘);
        m.put(‘02‘ , false) ;
        m.put(‘03‘ , true);
        m.put(‘04‘ , new Date());

        alert(m.size());

        alert(m.get(‘02‘));
        m.remove(‘03‘);
        alert(m.get(‘03‘));

        m.eachMap(function(key , value){
             alert(key +" :"+ value);
        });
        </script>
    </head>
    <body>
    </body>
</html>
时间: 2024-07-28 13:32:04

js05---js实现Map的相关文章

&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

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 构建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)

js获取Map集合里的key和value

js中获取Map集合的key和value 遍历Map集合获得所有的key和value

js中map和python中的map

js 中的map: 由于map()方法定义在JavaScript的Array中,我们调用Array的map()方法,传入我们自己的函数,就得到了一个新的Array作为结果: function pow(x) { return x * x; } var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; arr.map(pow); // [1, 4, 9, 16, 25, 36, 49, 64, 81] var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];

廖雪峰教程笔记:js中map和reduce的用法

举例说明,比如我们有一个函数f(x)=x2,要把这个函数作用在一个数组[1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用map实现如下: 由于map()方法定义在JavaScript的Array中,我们调用Array的map()方法,传入我们自己的函数,就得到了一个新的Array作为结果: function pow(x) { return x * x; } var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; arr.map(pow); // [1, 4,

js中 map 遍历数组

map 方法会迭代数组中的每一个元素,并根据回调函数来处理每一个元素,最后返回一个新数组.注意,这个方法不会改变原始数组. 在我们的例子中,回调函数只有一个参数,即数组中元素的值 (val 参数) ,但其实,你的回调函数也可以支持多个参数,譬如:元素的索引index.原始数组arr. 例子:使用 map 方法来为 oldArray 中的每一项增加3,并且在 newArray 中保存它们. oldArray 不应该被改变. var oldArray = [1,2,3,4,5]; var newAr

js 中 Map/Set 集合

Map Map是一组键值对的结构,具有极快的查找速度. 举个例子,假设要根据同学的名字查找对应的成绩,如果用Array实现,需要两个Array: 1 var names = ['Michael', 'Bob', 'Tracy']; 2 var scores = [95, 75, 85]; 给定一个名字,要查找对应的成绩,就先要在names中找到对应的位置,再从scores取出对应的成绩,Array越长,耗时越长. 如果用Map实现,只需要一个“名字”-“成绩”的对照表,直接根据名字查找成绩,无论