所以我觉得我很疯狂,我可能会这样,但这看起来很简单。说我有这段代码:
let a = {};
a.b.c.d.e.f.g = 'Something Awesome';
现在你可以想象,如果每个级别都存在,就必须进行if-check噩梦。即使我有一种奇特的循环方式来做这件事,其他人也不得不考虑这一点。
我认为CoffeeScript有这样的东西,但我似乎找不到任何东西。我还想知道是否有ECMAScript6或lodash做同样类型的事情?
可能是这样的:
set(a, b, c, d, e, f, g, 'Something Awesome');
在那种情况下甚至:
set(a, b, c, d, {e: {f: {g: 'Something Awesome'}}});
但最后一个选项会消除e
,f
和g
中可能存在的任何内容。
答案 0 :(得分: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>
&#13;