我的问题很简单,但在网上似乎没有人回答,我不能让我的头周围。
我基本上想写一个setter函数,它接受一个JSON对象并将一个键设置为一个值,不管路径是否已经存在。
变式1:
setPath(payload: Object, path: string, value: any) {
// ???
}
obj: Object = {}
newObj: Object = setPath(obj, "foo.bar[0], "wut");
变式2:
setPath(payload: Object, path: string, value: any){
// ???
}
obj: Object {
foo: {
bar: []
}
}
newObj: Object = setPath(obj, "foo.bar[0]", "wut");
这两种情况都会导致JSON对象看起来像这样:
{
foo: {
bar: [
"wut"
]
}
}
谢谢你的帮助
1条答案
按热度按时间mnemlml81#
感谢@cmgchess
youmightnotneed.com/lodash#set
在这个链接中,您可以找到一个简单的JavaScript解决方案,或者像我一样,使用lodash提供的方法