_.set() se comporta de manera extraña cuando establece una ruta que contiene un número entero. Aquí hay un ejemplo:
const object = {} _.set(object, "wavelength.415", "foo"); console.log(JSON.stringify(object))Al ejecutar este código, el objeto se verá así:
{"wavelength":[null,null,null,null,null,etc....,"foo"]}¿Hay alguna forma de evitar este comportamiento o estoy haciendo algo mal?
Este es el comportamiento previsto (consulte este problema ), use _.setWith() en su lugar:
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>