2014-10-16 5 views

답변

4

배열에서 하나의 개체를 찾고 있으므로 _.reduce 또는 _.reduceRight을 사용하면 작업을 완료하는 데 적합합니다. 저것을 탐구합시다.

이 경우 왼쪽에서 오른쪽으로 작업하기가 어려울 것입니다. 왜냐하면 가장 안쪽의 객체로 이동 한 다음 다시 바깥으로 작업하기 위해 재귀를 수행해야하기 때문입니다. 그럼 _.reduceRight을 해보자 :

var common = ["a", "b", "c", "d"]; 
var innerValue = "some value"; 

_.reduceRight(common, function (memo, arrayValue) { 
    // Construct the object to be returned. 
    var obj = {}; 

    // Set the new key (arrayValue being the key name) and value (the object so far, memo): 
    obj[arrayValue] = memo; 

    // Return the newly-built object. 
    return obj; 
}, innerValue); 

Here's a JSFiddle을이 작품 것을 증명.

+0

TO가 명백하게 _lodash_에 대해 질문했지만, JS는 그럴 수 있습니다. http://jsfiddle.net/7j6zrmqm/1/;) 어쨌든 좋은 대답을 +1하십시오. –

+1

ES5는 항상 유감스럽게도 실행 가능한 옵션이 아닙니다. –