按键数组过滤JavaScript地图对象 [英] Filter javascript map object by array of keys

查看:46
本文介绍了按键数组过滤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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆