0305 今日总结
手撕代码
防抖节流等各种手写,http和网络,浏览器原理,性能优化,Webpack
树形转换,朋友发的题
js
const entries = [{
"province":"浙江",
"city":"杭州",
"name":"西湖"
}, {
"province":"四川",
"city":"成都",
"name":"锦里"
}, {
"province":"四川",
"city":"成都",
"name":"方所"
}, {
"province":"四川",
"city":"阿坝",
"name":"九寨沟"
}];
const level = ["province","city","name"];
const result = [
{
"value":"浙江",
"children": [
{
"value":"杭州",
"children": [
{
"value":"西湖"
}
]
}
]
},
{
"value":"四川",
"children": [
{
"value":"成都",
"children": [
{
"value":"锦里"
},
{
"value":"方所"
}
]
},
{
"value":"阿坝",
"children": [
{
"value":"九寨沟"
}
]
}
]
}
]
result = transformTree(entries, level)
我的答案:查看在线效果
js
const transformTree = (entries, level) => {
const resultArr = [...new Set(entries.map(item => item.province))].map(name => {
return ({ value: name, children: []})
})
for (let item of resultArr) {
const citiesSet = [...new Set(entries.filter(e => e.province === item.value).map(v => v.city))]
for (let s of citiesSet) {
let values = [...new Set(entries.filter(e => e.city === s).map(m => m.name))].map(name => ({ value: name }))
item.children.push({ value: s, children: values })
}
}
return resultArr
}
好文推荐
有感好文
TOP3
- 脚手架开发之Lerna源码分析 分析的很详细,yargs 分析的很全
- JavaScript常用的的十个高阶函数么? map,filter,some, sort 等接收函数作为参数的 API 都是高阶函数
- 【架构师(第一篇)】整体需求分析和架构设计 架构师是如何做架构设计分析的
- 慕课网架构师专栏
有感好文
- 视频:Vue + Node.js 300行代码实现自动化部署工具 主要是利用了 koa 后端服务和 socket-io 的方式实现部署信息同步;思考:也可以每 3s 轮训后端请求的方式实现;不过这种 socket 实时的方式更高效
- vite + vue3 + ts 开箱即用的现代化开发模板
看了下作者的 视频介绍,很多东西可以学习
- 布局系统
- Api 自动引入
- 组件自动引入
- 图标自动引入
- VueUse 支持
.. 等
我的文件助手 2022/2/26 22:35:46
- https://www.bilibili.com/video/BV1Am4y1f71a/ vite + vue3 + ts 开箱即用的现代化开发模板
看了下作者的 视频介绍,很多东西可以学习
- 布局系统
- Api 自动引入
- 组件自动引入
- 图标自动引入
- VueUse 支持
.. 等
对于快速模板化进行开发很便利,有点类似 dva 的模式,
github 地址:https://github.com/dishait/tov-template
- vscode键盘侠养成记 关于 vim 的学习和练习,个人总结在了 VS Code VIM 插件高效使用
项目/博客推荐
值得学习的项目/作者
博客
- 博主-tyh-blog 不错的博客
- 博主-一尾流莺 掘金优秀作者
工具
- 最近 Github 上爆火的 Chrome 生产力神器 Omni 是什么鬼? 好用的浏览器拓展推荐
面经相关
八股文相关
专栏
- web前端面试 - 面试官系列 新发现的面试题专栏;好奇为啥用 vue3js 作为域名?
文章
TODOS
短期内要做的事情
- 远程求职-电鸭社区 对于以后远程工作, WFH 求职比较方便;
- learna 源码专题