js中通过map的value找key

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参数不用管它。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值