js中通过map的value找key

js中通过map的value找key1.解决ie浏览器的兼容性问题 //通过map的value找key(ps:obj是js中的map对象value就是map中的value) functionfindKey(obj,value,compare){ //匿名函数解决ie不兼容问题 varcompare=(function(a,b){ returna===b; }); //匿名函数解决ie不兼容问题 returnObject.keys(obj).filter

大家好,又见面了,我是你们的朋友全栈君。

1.解决ie浏览器的兼容性问题

	// 通过map的value找key(ps:obj是js中的map对象 value就是map中的value)
  	function findKey (obj,value,compare) { 
   
  		// 匿名函数解决ie不兼容问题
  		var compare = (function(a,b){ 
   
  		    return a === b;
  		});
  		// 匿名函数解决ie不兼容问题
  		return Object.keys(obj).filter(function(k){ 
    // 用filter()方法替代find()方法还是解决ie不兼容问题
  		    return compare(obj[k],value);
  		});
	}

2.直接使用lambda表达式

	// 通过map的value找key(ps:obj是js中的map对象 value就是map中的value)
  	function findKey (obj,value, compare = (a, b) => a === b) { 
   
  		return Object.keys(obj).find(k => compare(obj[k], value))
 	}

值得注意的地方:

1、参数obj就是你的map对象,value就是你要查找key的对应value。

2、调用方式:findKey(map对象,value值),compare参数不用管它。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163559.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月23日 下午12:36
下一篇 2022年7月23日 下午12:36


相关推荐

  • PyCharm 取消 git 关联

    PyCharm 取消 git 关联PyCharm gt Preferences gt VersionContr gt DirectoryMap gt VCS 对应的 git 改为 none

    2026年3月27日
    4
  • laravel 安装完成后安装 vendor 目录

    laravel 安装完成后安装 vendor 目录

    2021年10月20日
    58
  • datagrip2021激活码【在线破解激活】[通俗易懂]

    datagrip2021激活码【在线破解激活】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    244
  • vue-router中的beforeEach

    vue-router中的beforeEach最近在做vue项目的开发,用到的技术栈主要是vue相关的,在开发这个项目的时候,设计到了权限,因为是后台管理系统,不同的身份和角色访问系统的时候,系统所展现出来的可访问内容都是不一样的,有兴趣的同学可以参考下RBAC(以角色为基础的权限管理设计)这篇文章写得很详细,很直观,我写这篇文章主要是想要分享一下前端的技术栈vue-router是如何处理的,以及踩过的坑。vue-router可以参考官方文档vue-router,官方文档中介绍的很详细,解决权限问题,就用到了addRoutes这个API,去动态添

    2022年6月28日
    35
  • 计算机学开发,Lazarus

    计算机学开发,LazarusLazarus 计算机学 语音编辑锁定讨论上传视频 Lazarus 的设计目标是应用 FreePascal 所以所有凡是 FreePascal 能运行的平台 Lazarus 都可以运行 最新版本能运行于 Linux Win32 和 MacOS 整个界面的外观和操作和 DelphiIDE 一样 因此 如果你会使用 Delphi 的话 用起 LazarusIDE 来就一定能得心应手了 中文名 Lazarus 目标应用

    2026年3月20日
    2
  • MSDN 6.0 之 Platform SDK 内容导航

    MSDN 6.0 之 Platform SDK 内容导航MSDN6.0之PlatformSDK内容导航王天平,北京,荣丰20082005年7月3日从头文件说起实际上在每个用C编写的Windows程式的开头都可看到:#includeWINDOWS.H是主要的引入头文件,它包含了其他Windows头文件,这些头文件的某些也包含了其他头文件。这些头文件中最重要的和最基本的是:l        WINDEF.H基本类型定义。l        

    2022年6月3日
    62

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号