2017-11-16 16 views
0

의 배열에 따라 기존 개체에서 새로운 객체를 생성한다.사용 Lodash 내가 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) 

나는 작품이 코드,하지만 난 아무리 간단한, 속담 바퀴를 다시 발명하지 않으.

+1

당신이 원하는 기능은 [선택]입니다 (https://lodash.com/docs/4.17.4#에서 사용할 수있는 방법 수십를 통과 할 때 더 분명 보이지 않은 이유를 알고하지 않습니다 선택) –

답변

0

_.pick 완벽하게 작동합니다. 나는 내가 Lodash

1

나는 당신이 _.map을 원하는 있다고 생각합니다. 두 번째 인수로 문자열 배열을 전달하는 경우

그것은 지정된 키 객체를 반환합니다. 코멘트에 거친 버니에 의해 제안