重载toString轻松实现JSHashMap

作者:小菜 更新时间:2025-02-25 点击数:
简介:用过Java的都知道,里面有个功能强大的数据结构——HashMap,它能提供键与值的对应访问。

不过熟悉JS的朋友也会说,JS里面到处都是hashmap,因为每个

【菜科解读】

用过Java的都知道,里面有个功能强大的数据结构——HashMap,它能提供键与值的对应访问。

不过熟悉JS的朋友也会说,JS里面到处都是hashmap,因为每个对象都提供了map[key]的访问形式。

不过请仔细对比一下,你会发现其中差别还是很大的。

Java HashMap的key是Object类型,所以可以任何类型的参数,而JS的key只能是字符串或是数字。

你也许会说,obj={};map[obj]=1;这段代码传入了既不是数字也不是字符的key,但也没发生错误啊。

那是因为解释器将obj对象通过内置的toString方法转换成“[object Object]”这段字符了,你可以用for each下map看看。

而java之所以能够接受任何类型的key,是因为其Object实现了HashCode方法,而每个类都继承或重写了Object的HashCode,所以任何变量都有一个哈希值。

我们也可以用JS来尝试一下。

前面提到了toString方法,用于任何类型转成字符;和它类似的还有另一个方法:valueOf,用于转型成数字。

因为数字比较容易索引,我们先尝试valueOf:Object.prototype.valueOf = function() { alert("Hello~") }; var map = []; var obj = {}; map[obj] = 1; 结果很失望,对话框并没有跳出来,说明JS引擎没有尝试将obj对象转成数字。

下面再尝试修改成toString方法: Object.prototype.toString = function() { alert("Hello~") }; var map = {}; var obj = {}; map[obj] = 1; 这时对话框跳出来了。

当然我们没有返回数据,这个1就被保存在了map["undefined"]里面。

但若我们返回一个数值,并且能保证每个变量唯一的数值,那么就可以用最原始的map[key]的方式索引任何类型了。

我们重载Object的toString方法:var HASH_ID = 0; Object.prototype.toString = function() { if(this._HASH == null) this._HASH = HASH_ID++; return "Obj:" + this._HASH; }; 下面来测试一下: var HashMap = {}; var obj1 = {}; var obj2 = {}; HashMap[obj1] = "Foo1"; HashMap[obj2] = "Foo2"; alert(HashMap[obj1] + " & " + HashMap[obj2]); HashMap[obj1] = "Bar1"; HashMap[obj2] = "Bar2"; alert(HashMap[obj1] + " & " + HashMap[obj2]); 分别输出:Foo1 & Foo2 和 Bar1 & Bar2,这说明了obj1,obj2始终对应着同个索引。

当然,如果object自身重写了toString方法就不一定了,它也许每次返回都不一样的值。

所以运用的时候,要根据实际情况做相应的调整。

重载,toString,轻松,实现,JSHashMap,用过

小马一键安装Windows 7,让系统安装变得轻松快捷

想重装系统不会怎么办?菜科网一键重装系统轻松在线帮您搞定系统重装问题。

软件支持 在线重装、U盘制作、自定义重装 等多种模式。

简介:小马一键安装Windows 7,让系统安装变得轻松快捷。

本文将介绍小马一键安装Windows 7的使用方法,通过简单的操作,让系统安装变得更加轻松和快捷。

小马一键安装Windows 7是一款方便实用的工具,可以帮助用户快速安装Windows 7操作系统,节省时间和精力。

工具原料:品牌型号:小马一键安装Windows 7操作系统版本:Windows 7软件版本:最新版本一、简单易用1、快速安装:小马一键安装Windows 7提供了一键安装的功能,用户只需简单几步操作,即可完成系统的安装,省去了繁琐的手动安装过程。

2、自动化配置:小马一键安装Windows 7会自动进行系统配置,包括硬件驱动的安装、系统设置的优化等,用户无需手动操作,节省了大量的时间和精力。

3、界面友好:小马一键安装Windows 7的界面简洁明了,操作简单直观,即使是没有经验的用户也能轻松上手。

二、高效快捷1、快速安装:小马一键安装Windows 7采用了高效的安装方式,可以在较短的时间内完成系统的安装,大大提高了安装效率。

2、自动化配置:小马一键安装Windows 7会自动进行系统配置,无需用户干预,大大减少了配置时间,让系统安装更加快捷。

3、稳定可靠:小马一键安装Windows 7经过多次测试和优化,保证了系统安装的稳定性和可靠性,用户可以放心使用。

总结:小马一键安装Windows 7是一款方便实用的工具,可以帮助用户快速安装Windows 7操作系统,节省时间和精力。

它的简单易用和高效快捷的特点,使得系统安装变得轻松和快捷。

建议用户在安装Windows 7时使用小马一键安装工具,以提高安装效率和减少配置时间。

标签: 注意:本站所刊载的文章均为学习交流之用,请勿用于商业用途。

对于商业使用,请联系各自版权所有者,否则法律问题自行承担。

Win7系统升级指南:全面解析升级步骤与要点 Win7系统损坏修复教程:详细步骤助你快速解决问题 小马一键安装Windows 7,让系统安装变得轻松快捷 分类于: 回答于:2023-12-05 简介:小马一键安装Windows 7,让系统安装变得轻松快捷。

本文将介绍小马一键安装Windows 7的使用方法,通过简单的操作,让系统安装变得更加轻松和快捷。

小马一键安装Windows 7是一款方便实用的工具,可以帮助用户快速安装Windows 7操作系统,节省时间和精力。

工具原料:品牌型号:小马一键安装Windows 7操作系统版本:Windows 7软件版本:最新版本一、简单易用1、快速安装:小马一键安装Windows 7提供了一键安装的功能,用户只需简单几步操作,即可完成系统的安装,省去了繁琐的手动安装过程。

2、自动化配置:小马一键安装Windows 7会自动进行系统配置,包括硬件驱动的安装、系统设置的优化等,用户无需手动操作,节省了大量的时间和精力。

3、界面友好:小马一键安装Windows 7的界面简洁明了,操作简单直观,即使是没有经验的用户也能轻松上手。

二、高效快捷1、快速安装:小马一键安装Windows 7采用了高效的安装方式,可以在较短的时间内完成系统的安装,大大提高了安装效率。

2、自动化配置:小马一键安装Windows 7会自动进行系统配置,无需用户干预,大大减少了配置时间,让系统安装更加快捷。

3、稳定可靠:小马一键安装Windows 7经过多次测试和优化,保证了系统安装的稳定性和可靠性,用户可以放心使用。

总结:小马一键安装Windows 7是一款方便实用的工具,可以帮助用户快速安装Windows 7操作系统,节省时间和精力。

它的简单易用和高效快捷的特点,使得系统安装变得轻松和快捷。

建议用户在安装Windows 7时使用小马一键安装工具,以提高安装效率和减少配置时间。

菜科网系统致力于解决 Windows 系统重装解决方案,提供高效、安全、免费的系统重装服务。

【高速移动U盘,随身存储,轻松安全!】

想重装系统不会怎么办?菜科网一键重装系统轻松在线帮您搞定系统重装问题。

软件支持 在线重装、U盘制作、自定义重装 等多种模式。

【高速移动U盘,随身存储,轻松安全!】简介:大家好,今天我要向大家介绍一款便捷又安全的移动存储工具——高速移动U盘。

随着科技的进步和数据的爆炸式增长,人们对于存储需求的依赖越来越大。

然而,传统的存储方式往往不够灵活和安全。

通过一个案例来说明这个问题。

小明是一位市场销售人员,每天需要带着大量的销售数据和演示文档到客户处出差,他曾经遇到过U盘丢失导致公司数据泄露的尴尬局面。

而高速移动U盘的问世,将为人们的数据存储提供更好的选择。

工具原料:系统版本:Windows 10、MacOS Mojave、iOS 12.1、Android 9.0品牌型号:SanDisk Extreme Pro、Kingston DataTraveler Elite G2、Samsung BAR Plus、PNY Turbo Elite软件版本:SanDisk SecureAccess、Kingston DataTraveler Vault Privacy、Samsung Portable SSD Software、PNY Elite Type C一、高速传输,快人一步高速移动U盘的最大卖点在于其快速传输速度。

不同品牌型号的高速移动U盘均采用了USB 3.1接口,极大地提高了数据传输的速度和效率。

无论是大型文件还是高清视频,都可以在短时间内完成传输,让用户轻松省时。

二、随身存储,方便便捷高速移动U盘的便携性也是其吸引人之处。

相比于传统的硬盘和SSD,高速移动U盘体积小巧,轻松放入口袋或钥匙链上,无论身在何处都能轻松携带。

无需担心大容量数据的传输和存储,高速移动U盘能够满足各类场景下的数据需求,让外出办公更加轻松便利。

三、数据保护,安全放心高速移动U盘在保护数据安全方面也有着突出的表现。

通过内置的加密功能和指纹识别技术,高速移动U盘可以将用户的数据做到严密加密,保护数据不被泄露或意外损坏。

此外,部分高速移动U盘还配备了远程删档功能,一旦设备丢失,用户可以通过远程指令将U盘内的数据全部清除,保护隐私。

总结:高速移动U盘的问世为人们的数据存储带来了全新的选择。

便捷、安全、高效的特点,为我们的数据传输和存储带来了极大的便利,让人们在工作和生活中更加轻松自如。

未来,高速移动U盘的发展还有很大的潜力,我们可以期待它们在移动存储领域的更多创新和突破。

标签: 注意:本站所刊载的文章均为学习交流之用,请勿用于商业用途。

对于商业使用,请联系各自版权所有者,否则法律问题自行承担。

Win7系统升级指南:全面解析升级步骤与要点 Win7系统损坏修复教程:详细步骤助你快速解决问题 【高速移动U盘,随身存储,轻松安全!】 分类于: 回答于:2023-11-02 【高速移动U盘,随身存储,轻松安全!】简介:大家好,今天我要向大家介绍一款便捷又安全的移动存储工具——高速移动U盘。

随着科技的进步和数据的爆炸式增长,人们对于存储需求的依赖越来越大。

然而,传统的存储方式往往不够灵活和安全。

通过一个案例来说明这个问题。

小明是一位市场销售人员,每天需要带着大量的销售数据和演示文档到客户处出差,他曾经遇到过U盘丢失导致公司数据泄露的尴尬局面。

而高速移动U盘的问世,将为人们的数据存储提供更好的选择。

工具原料:系统版本:Windows 10、MacOS Mojave、iOS 12.1、Android 9.0品牌型号:SanDisk Extreme Pro、Kingston DataTraveler Elite G2、Samsung BAR Plus、PNY Turbo Elite软件版本:SanDisk SecureAccess、Kingston DataTraveler Vault Privacy、Samsung Portable SSD Software、PNY Elite Type C一、高速传输,快人一步高速移动U盘的最大卖点在于其快速传输速度。

不同品牌型号的高速移动U盘均采用了USB 3.1接口,极大地提高了数据传输的速度和效率。

无论是大型文件还是高清视频,都可以在短时间内完成传输,让用户轻松省时。

二、随身存储,方便便捷高速移动U盘的便携性也是其吸引人之处。

相比于传统的硬盘和SSD,高速移动U盘体积小巧,轻松放入口袋或钥匙链上,无论身在何处都能轻松携带。

无需担心大容量数据的传输和存储,高速移动U盘能够满足各类场景下的数据需求,让外出办公更加轻松便利。

三、数据保护,安全放心高速移动U盘在保护数据安全方面也有着突出的表现。

通过内置的加密功能和指纹识别技术,高速移动U盘可以将用户的数据做到严密加密,保护数据不被泄露或意外损坏。

此外,部分高速移动U盘还配备了远程删档功能,一旦设备丢失,用户可以通过远程指令将U盘内的数据全部清除,保护隐私。

总结:高速移动U盘的问世为人们的数据存储带来了全新的选择。

便捷、安全、高效的特点,为我们的数据传输和存储带来了极大的便利,让人们在工作和生活中更加轻松自如。

未来,高速移动U盘的发展还有很大的潜力,我们可以期待它们在移动存储领域的更多创新和突破。

菜科网系统致力于解决 Windows 系统重装解决方案,提供高效、安全、免费的系统重装服务。

加入收藏
               

重载toString轻松实现JSHashMap

点击下载文档

格式为doc格式

  • 账号登录
社交账号登录