根据需要动态创建对象,无需检查

时间:2017-01-17 22:12:46

标签: javascript lodash

所以我觉得我很疯狂,我可能会这样,但这看起来很简单。说我有这段代码:

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'}}});

但最后一个选项会消除efg中可能存在的任何内容。

1 个答案:

答案 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;
&#13;
&#13;