`
JavaSam
  • 浏览: 960992 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js 模拟Map 最新测试通过

 
阅读更多
/**
 * Map 的方法
 */
Map = function(){
    var mapAddM = {
        /**
         * entry函数
         * @param {Object} key
         * @param {Object} val
         */
        entry: function(key, val){
            this.key = key;
            this.value = val;
        },
        //put方法
        put: function(key, val){
            this.store[this.store.length] = new this.entry(key, val);
        },
        //get方法
        get: function(key){
            for (var i = 0; i < this.store.length; i++) {
                if (this.store[i].key === key) 
                    return this.store[i].value;
            }
        },
        //remove方法
        remove: function(key){
            for (var i = 0; i < this.store.length; i++) {
                this.store[i].key === key && this.store.splice(i, 1);
            }
        },
        //keyset
        keySet: function(){
            var keyset = new Array;
            for (var i = 0; i < this.store.length; i++) 
                keyset.push(this.store[i].key);
            return keyset;
        },
        //valset
        valSet: function(){
            var valSet = new Array;
            for (var i = 0; i < this.store.length; i++) 
                valSet.push(this.store[i].value);
            return valSet;
        },
        //clear
        clear: function(){
            this.store.length = 0;
        },
        //size 
        size: function(){
            return this.store.length;
        },
		/**
		 *  迭代子
		 */
		iterator : function(){
			//TODO 待实现
			var obj = this.keySet();//所有的key集合
			var idx = 0;
			var me = {
				/**
				 * 当前key
				 */
				current : function(){
					return obj[idx-1];
				},
				/**
				 * 第一个key
				 */
				first : function(){
					return obj[0];
				},
				/**
				 * 最后一个key
				 */
				last : function(){
					return obj[obj.length-1];
				},
				/**
				 * 是否还有下一个元素
				 */
				hasNext : function(){
					idx++;
					if(idx > obj.length||null==obj[obj.length-1])return false;
					return true;
				}
			};
			return me;
		}
    };
	for (var method in mapAddM) {
	    this.store = new Array;
		Map.prototype[method] = mapAddM[method];
	}
}

 

0
2
分享到:
评论

相关推荐

    js模拟list和map

    javascript 模拟 java中的 List,Map js文件为 js/utils.js IE6.0 测试通过 &lt;br&gt;List: add(var obj) //添加一个元素 remove(var index) //删除一个元素 get(var index) //获取一个元素 remove...

    map的js实现

    通过分析`map.js`文件,我们可以学习如何创建自定义数据结构以模拟JavaScript内置的`Map`行为,并了解其在实际应用中的优缺点。同时,结合测试HTML页面,我们可以更全面地理解这个实现的工作流程。

    学习threejs,使用设置normalMap法向量贴图创建更加细致的凹凸和褶皱,贴图文件

    通过使用three.js这一JavaScript库,开发者可以在网页中实现三维图形的渲染。在学习three.js的过程中,掌握如何使用normalMap来创建更加细致的表面细节是一门重要的技能。 首先,法向量贴图的工作原理是基于一种...

    全面详尽的JavaScript和Node.js测试最佳实践(2023年7月).zip

    JavaScript和Node.js是现代Web开发中的核心技术,它们的测试最佳实践对于确保代码的质量、稳定性和可维护性至关重要。本文将深入探讨这两个领域的测试策略、工具和技术,帮助开发者提高测试效率和准确性。 一、...

    JavaScript_用单元测试收集最常见的JS面试问题.zip

    总的来说,这个压缩包旨在帮助面试者提升对JavaScript语言的理解,特别是其单元测试方面,同时通过模拟面试问题加强他们的问题解决能力。准备这部分内容不仅可以帮助求职者顺利通过面试,也能提高他们的编程实践水平...

    CH17-JSmap:JSmap导航程序

    JSmap是一款开源的JavaScript分析框架,它通过动态和静态分析的方法,对网页中的JavaScript脚本进行深度解析。这个工具特别适用于那些复杂的、难以手动审查的JavaScript代码,能够帮助用户找出可能隐藏在其中的恶意...

    前端开源库-map-or-similar

    在这种情况下,开发者通常会使用“polyfill”(填充物)来模拟Map的功能,以便在不支持Map的环境中也能实现类似的功能。 "map-or-similar"是一个前端开源库,它的目标是为那些不支持原生Map对象的环境提供一个类似...

    基于javaScript+Cesium的无人机飞行模拟+源码+飞行界面展示+开发文档+地图资源(毕业设计&课程设计&项目开发)

    基于javaScript+Cesium的无人机飞行模拟+源码+飞行界面展示+开发文档+地图资源,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 安装 2.1 安装node.js环境。 2.2 ...

    google-maps-mock:模拟Google Maps JS库以进行Jasmine测试angular-google-maps

    总结来说,`google-maps-mock`是针对AngularJS应用中使用Google Maps API的一个强大工具,它通过JavaScript模拟库帮助开发者编写高效的单元测试和集成测试,提高代码质量,同时降低了测试的复杂性和成本。通过理解和...

    demo.zip 个人测试集合demo

    Vue.js是一个流行的前端JavaScript框架,它以其轻量级、易上手和高性能著称。Vue的核心特性包括声明式的数据绑定、组件化、虚拟DOM、以及强大的指令系统,使得开发人员能够快速构建复杂的用户界面。在个人测试集合中...

    像import java类一样 import js类

    标题“像import java类一样 import js类”暗示了这篇博文主要讨论的是JavaScript中引入模块的方式,尝试模拟Java的导入机制。在JavaScript的世界里,我们通常使用`require`(Node.js环境)或`import`(ES6及以后版本...

    基于Python+Selenium的WebUI自动化测试框架设计源码

    此外,框架还支持通过JavaScript文件来实现某些界面操作的细节,例如动态元素的处理和复杂的用户交互模拟。CSS文件和PNG文件分别用于设计测试界面的样式和提供测试过程中需要的图像资源,如截图等。 自动化测试框架...

    基于PHP的mock_trade模拟商品交易系统设计源码

    此外还包括了JSON、Markdown、Map以及WOFF字体文件,这些文件共同为模拟商品交易系统提供了完整的功能和良好的用户体验。 系统的设计重点在于提供一个模拟商品交易的环境,用户可以在该系统中进行商品的买卖操作,...

    一些JavaScript的资料

    JavaScript,也被称为JS,是一种广泛应用于网页和网络应用的编程语言。它主要负责网页的动态交互,让静态的HTML页面变得生动有趣。JavaScript是客户端脚本语言,可以在用户的浏览器上运行,无需服务器支持,这也是其...

    基于selenium webdriver的Java语言驱动的WebUI自动化测试平台设计源码

    Selenium WebDriver作为一个非常流行的自动化测试工具,它能够模拟用户在浏览器中的各种操作,比如点击、输入文本、导航到不同页面等。通过Java语言的编程实现,这些自动化测试脚本可以更加稳定和高效地执行,提高...

    测试工具学习

    WinRunner 通过模拟用户交互来创建测试脚本,它记录用户在应用程序上的操作,如点击按钮、填写表单等,然后自动生成可执行的测试代码。测试人员可以根据需求编辑这些脚本,添加特定的检查点和逻辑控制,以实现更复杂...

    howToMockIt:一个仓库,展示了如何使用通用框架模拟不同的场景

    无极模拟在jestES6 / test / promise.test.js中,我有如何测试Promise的示例。 由于如何解决区块,因此承诺测试可能非常困难。 关于Promise Mock的视频演示: : 完成的框架开玩笑(需要) 开玩笑(ES6模块/导入) ...

    web自动化测试技术交流.pptx

    它包括业务库、数据提供者、测试用例结果校验、报表、UI Map和日志库等模块。WAF 2.0则进一步引入了Java和TestNG,提升了框架的灵活性和可扩展性。 在使用Selenium进行测试脚本编写时,可以利用Selenium IDE进行...

    Javascript Testing Beginner's Guide

    5. **端到端测试**:探讨如何通过端到端测试来模拟真实用户的行为,验证整个应用的功能是否按预期工作。 6. **测试驱动开发 (TDD)**:解释TDD的基本原则和流程,演示如何先写测试后写代码的方法来构建高质量的应用...

    IE系列js(IE7.js、IE8.js、IE9.js)

    总之,IE系列js是前端开发者处理IE浏览器兼容性问题的重要工具,它们通过模拟现代浏览器的特性和行为,使得开发者可以在旧版本的IE上实现更丰富的功能和更好的用户体验。然而,随着浏览器的更新换代,开发者也需要...

Global site tag (gtag.js) - Google Analytics