javascript - 使用 Vanilla JavaScript 合并对象
问题描述
我一直在研究一个事件处理程序来将输入与状态同步,并提出了这个解决方案:
https://gist.github.com/jadeallencook/678869f988bd65378d819496c4343e78
处理程序使用字符串将值推送到端点并将结果与当前状态合并,但我必须使用 lodash 来完成它,无论如何在 vanilla 中可以做到吗?
解决方案
Areduce
将产生一个通用的解决方案:
const path = 'foo-bar-num';
const paths = path.split('-');
const object = {};
const value = 'Woo hoo!';
paths.reduce(([object, value], path, idx) => {
object[path] = idx === paths.length - 1 ? value : {};
return [object[path], value];
}, [object, value]);
console.log(object)
推荐阅读
- css - Reactjs Styled-components 无法正常工作
- google-apps-script - 跳过谷歌表格中的空单元格以获取带有超链接的文本脚本
- r - 有没有办法使用部分匹配的字符串进行绑定?
- r - 如何根据列表名称更改 colnames?
- docker - Visual Studio Code Remote - 容器:更改默认根目录
- palantir-foundry - 如何从代码存储库中找到 Foundry API?
- wordpress - 从 WordPress 博客迁移到 React
- javascript - 记录不同的数组
- palantir-foundry - 如何格式化板岩条形图的“悬停”工具提示中的文本?
- python - 无法使用 AltUnity Tester for IOS Simulator 自动测试 Unity 应用程序