按键数组过滤JavaScript地图对象 [英] Filter javascript map object by array of keys
本文介绍了按键数组过滤JavaScript地图对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个键数组:
var arr = ['var1', 'var2', 'var3']
我还有一个Javascript映射对象,其中包含四个键(var1,var2,var3,var4)和值(1、2、3、4),我想通过arr数组进行过滤,因此我得到一个仅包含键(var1,var2,var3)和值(1、2、3)的新地图对象。有人知道我该怎么做吗?
I also have a Javascript map object containing four keys (var1, var2, var3, var4) and values (1, 2, 3, 4) which I want to filter by the arr-array so I get a new map object only containing the keys (var1, var2, var3) and values (1, 2, 3). Does anyone know how I can do this?
推荐答案
您可以使用reduce( 1 ):
You can populate a new object using reduce (1):
var map = {a: 1, b: 2, c: 3};
var keys = ["b", "c", "d"];
var c = keys.reduce(function(obj, key) {
if (map.hasOwnProperty(key)) obj[key] = map[key];
return obj;
}, {}); // {b: 2, c: 3}
这篇关于按键数组过滤JavaScript地图对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文