什么是 ARTS?
- 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习
- 阅读(Review): 阅读并点评至少一篇英文技术文章,提高英文水平
- 技巧 (Tip):学习至少一个技术技巧,总结、归纳日常工作中遇到的知识点
- 分享(Share):分析一篇有观点和思考的技术文章,建立影响力,输出价值观
时间周期
2022 年 9 月月 5 日至 9 月 11 日
一:算法:
第 82 题:周一算法题之「移动零」 | 木易杨前端进阶 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序 说明:
- 必须在原数组上操作,不能拷贝额外的数组。
- 尽量减少操作次数。
输入: [0,1,0,3,12]
输出: [1,3,12,0,0]
前置知识 思路:
- 原地修改数组,那么 sort,concat 之类的纯函数方法行不通,需要走其他思路 JavaScript 实现及其拓展资料
function moveZeroToLast (array) {
let index = 0
for (let i = 0; i < array.length; i++) {
if (array[i] === 0) {
index++;
} else if (index !== 0) {
array[i - index] = array[i];
array[i] = 0
}
}
return array
}
二:阅读,英文技术文章
I Spent 2 years Launching Tiny Projects | Tiny Projects 推荐理由:
- 这个是互联网最喜欢的行为模式中主动的行为方式(www.ruanyifeng.com/blog/2022/0…
- 列出的诸多想法中,有些想法事后回看回发现很糟糕,但是即使它是糟糕的,但是只要继续坚持,好的想法也会接踵而至的
三:技巧
- JS 调用打印功能 - 知乎
- web 打印,一篇搞定 - 知乎
- GitHub - LittlehorseXie/nw-printer: 一个基于 nw 纯前端实现的小票打印机程序 (仅支持 windows 系统)
- github.com/livelybone/…
- HttpPrinter - Web 打印,网页打印,JS 打印,Jquery 打印,浏览器打印,HTML 打印,PDF 打印,Chrome 打印,Firefox 打印,IE 打印,Safari 打印 - 兼容 Windows、Mac、Linux