Lodash 设置整数路径奇怪的行为

Lodash set integer paths strange behavior

_.set() 在设置包含整数的路径时表现异常。这是一个例子:

const object = {}

_.set(object, "wavelength.415", "foo");

console.log(JSON.stringify(object))

根据 运行 此代码,对象将如下所示:

{"wavelength":[null,null,null,null,null,etc....,"foo"]}

是否有解决此问题的方法,还是我做错了什么?

这是预期的行为(请参阅此 issue), use _.setWith()

const object = {}

_.setWith(object, "wavelength.415", "foo", Object);

console.log(JSON.stringify(object))
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js" integrity="sha512-WFN04846sdKMIP5LKNphMaWzU7YpMyCU245etK3g/2ARYbPK9Ub18eG+ljU96qKRCWh+quCY7yefSmlkQw1ANQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>