ARTS 第一周

用户头像
困到清醒
关注
发布于: 2020 年 05 月 25 日
ARTS第一周

what is ARTS?

1.Algorithm:每周至少做一个 leetcode 的算法题

2.Review:阅读并点评至少一篇英文技术文章

3.Tip:学习至少一个技术技巧

4.Share:分享一篇有观点和思考的技术文章

Algorithm

https://leetcode.com/problems/valid-parentheses/

题目:括号匹配

语言:JavaScript

小优化:用数字替代字符对比

代码:

/**
* @param {string} s
* @return {boolean}
*/
const isValid = function( str ) {
const arr = [];
const map = {
"}" : 1,
")" : 2,
"]" : 3,
}
for(let item of str){
if(item === "{"){
arr.push(1);
}else if(item === "("){
arr.push(2);
}else if(item === "["){
arr.push(3);
}else {
if(arr.pop() !== map[item]){
return false;
}
}
}
return arr.length === 0;
};
Review

来源:Medium

文章连接:Implementing Zoom and Pan in Just 69 Lines of Javascript

生词:

  1. capacity 能力

  2. implementation 手段

  3. lightweight 轻量级

  4. encounter along the way 沿途相遇

  5. assumption 假定,设想

  6. manipulate 操作

  7. an instance of 一个实例

  8. decorate 装饰

  9. matrix 矩阵

  10. coordinate 坐标

  11. invoking 调用



JS:

// 超过块元素时,hidden
overflow: hidden
// 调用renderer library
// renderer.js
const renderer = ({ minScale, maxScale, element, scaleSensitivity = 10 }) => {
const state = {
element,
minScale,
maxScale,
scaleSensitivity,
transformation: {
originX: 0,
originY: 0,
translateX: 0,
translateY: 0,
scale: 1
},
};
return Object.assign({}, canZoom(state), canPan(state));
};
// index.js
import './index.css';
import { renderer } from './renderer';
const container = document.getElementById("container");
const instance = renderer({ scaleSensitivity: 50, minScale: .1, maxScale: 30, element: container.children[0] });
container.addEventListener("wheel", (event) => {
if (!event.ctrlKey) {
return;
}
event.preventDefault();
instance.zoom({
deltaScale: Math.sign(event.deltaY) > 0 ? -1 : 1,
x: event.pageX,
y: event.pageY
});
});
container.addEventListener("dblclick", () => {
instance.panTo({
originX: 0,
originY: 0,
scale: 1,
});
});
container.addEventListener("mousemove", (event) => {
if (!event.shiftKey) {
return;
}
event.preventDefault();
instance.panBy({
originX: event.movementX,
originY: event.movementY
});
})

小结:感觉对我来说有点难理解,不是很能看懂,下周应该去看一些JavaScript基础知识

Tip

scale(2,2)

长款都放大两倍

Share

渴望、热情和选择

耗子叔的专栏分享,温故而知新。目前在一个比较安逸的环境,有时会迷茫,突然觉得安稳过一生不好吗?为什么不选择更安稳的工作的,比如公务员,拼一把,就能得到一生的保障,再次回过头来读一读耗子叔的文章,慢慢也找回了初心,自己想做什么,“极端”的追求,是不受他人影响的,坚信自己的选择,自己想要的并不是安稳的生活,而是做自己喜欢的事情,即使会很困难,也要为之不断努力,时间才是最宝贵的!



用户头像

困到清醒

关注

还未添加个人签名 2019.01.16 加入

还未添加个人简介

评论

发布
暂无评论
ARTS第一周