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>
_.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>