Javascript 从另一个对象和要保留的键数组生成对象的最简洁的方法?

Javascript 从另一个对象和要保留的键数组生成对象的最简洁的方法?,javascript,lodash,Javascript,Lodash,是否有一个lodash函数,或者可能是两个函数的组合,可以将一个对象和一组关键点保持不变,以将对象简化为这些关键点 {a: 1, b: 2, c: 3, d: 4} and ['a', 'c'] => {a: 1, c: 3} var obj={a:1,b:2,c:3,d:4}; 变量键=['a','c']; var filtered=uu.pickobj,键; document.body.innerHTML=; 你可以这样做。它不是lodash,但它组装对象的速度相当快 你可以编写一

是否有一个lodash函数,或者可能是两个函数的组合,可以将一个对象和一组关键点保持不变,以将对象简化为这些关键点

{a: 1, b: 2, c: 3, d: 4} and ['a', 'c'] => {a: 1, c: 3}
var obj={a:1,b:2,c:3,d:4}; 变量键=['a','c']; var filtered=uu.pickobj,键; document.body.innerHTML=;
你可以这样做。它不是lodash,但它组装对象的速度相当快


你可以编写一个自定义函数…我知道,但是有很多lodash功能,我只是想确保我没有错过这个已经实现的功能,但是我认为任何映射/过滤函数都不会将数组作为次要参数。这比我的答案要好得多+1.
function reduce(obj, keys)
{
    var newObj = {};

    keys.forEach(function(element)
    {
        newObj[element] = obj[element];
    });

    return newObj;
}

var myObj = {a: 1, b: 2, c: 3, d: 4};
var reducedObj = reduce(myObj, ["a", "c"]);