根据数组过滤对象的属性。并获得过滤对象

时间:2019-01-02 07:30:22

标签: javascript filter

我如何基于数组过滤对象的属性。我下面有示例代码段。

var obj = {a: [], b:[], c: [], d:[]}
var arr = ["a", "b"]

以下是我的预期输出,我该如何实现

  

var outupt = {a:[],b:[]}

2 个答案:

答案 0 :(得分:2)

您可以映射新对象并​​创建一个对象。

var object = { a: [], b: [], c: [], d: [] },
    keys = ["a", "b"],
    result = Object.assign(...keys.map(k => ({ [k]: object[k] })));

console.log(result);

答案 1 :(得分:1)

var obj = {a: [], b:[], c: [], d:[]}
var arr = ["a", "b"]

var output = arr.reduce((result, key) => ({ ...result, [key]: obj[key] }), {});

console.log(output)