2017-01-17 2 views
0

그래서 저는 미쳤다고 생각 했었 습니다만, 이것은 꽤 간단 해 보입니다.검사를하지 않고 필요에 따라 동적으로 객체를 생성하십시오.

let a = {}; 
a.b.c.d.e.f.g = 'Something Awesome'; 

지금 당신은 각 레벨이 존재하는지 자리를 차지할했을 경우 검사 악몽을 상상할 수 : 나는 코드의이 비트를 말해봐. 그리고 내가 그것을 할 환상적인 루핑 방법을 가지고 있었다고하더라도, 다른 누군가는 이것을 생각해야만했습니다.

CoffeeScript는 이와 비슷한 것을 가지고 있다고 생각하지만, 그것에 대해 아무것도 찾을 수없는 것 같습니다. 같은 종류의 일을하는 ECMAScript6 또는 lodash 방식이 있는지 궁금합니다.

아마 같은 :

set(a, b, c, d, e, f, g, 'Something Awesome'); 

그리고 심지어는 경우 :

set(a, b, c, d, {e: {f: {g: 'Something Awesome'}}}); 

그러나, efg을 존재할 수 아무것도 쓸어 것이다 마지막 옵션.

답변

1

당신은 lodash의 _.set() 참조됩니다

const a = {}; 
 
_.set(a, 'b.c.d.e.f.g', 'Something Awesome'); 
 

 
console.log(a);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>