我对Lodash相对较新,我正在尝试做一些我确信非常容易的事情。
我想知道哪个现有的Lodash方法用于获取一个键和一个对象数组,然后返回一个新对象,该对象只包含与传入的键匹配的属性(来自原始对象)。
let _ = require("lodash");
// DOES THE FUNCTION BELOW ALREADY EXIST?
let only = function (wanted, srcList) {
return _.reduce(wanted, function(out,key){
if(_.has(srcList, key)){
out[key] = srcList[key]
}
return out;
},{})
}
let src = {
w: "This is doble vuu",
x: "This is X",
y: "This is why?",
z: "This is zeee!"
};
var want = ['x','z'];
let newObject = only(want,src);
console.log(newObject)
我的代码有效,但我不想重新发明众所周知的轮子,无论它多么简单。
答案 0 :(得分:1)
我相信你想要_.map。
如果传递一个字符串数组作为第二个参数,它将返回一个具有指定键的对象。
答案 1 :(得分:0)
_.pick完全按照Gruff Bunny在评论中的建议。当我在Lodash中使用了几十种方法时,我不知道为什么它看起来不那么明显