目录
大部分出于一个资深同事的交接文档,此人不爱写备注
所以想不到怎么吐槽他好,吐槽可能会在下一个文章之二,补充
1.前同事的逻辑能力肯定时很好的,性格好,也很适合做程序员,
俗称的”能出活“,只是真的是输出上去了,工资也上去了,公司"给不起"
2.他本身也不擅长写typeScript;重新学习一种语言的能力也是很强的,解决问题能力
3.可以当别人的学习笔记的观摩
........................
- //reduce()是对数组的一个方法
-
- let arr=[1,2,3,4,5,6]
- let res=arr.reduce((a,b)=>{
- return a+b
- })
- console.log(res)//3*7 == 21
- //这是对数组求和,如果数组中出现了字符串,那么字符串前的数字还是会求和,
- //字符串之后的数字都会以字符串的形式相加起来
-
- let arr=[[1,2],[2,3],[4,5],[6,7]]
- let res=arr.reduce((a,b)=>{return a.concat(b)})
- console.log(res)//[1,2,2,3,4,5,6,7]
- //这是合并二维数组
- let arr=['B','A','A','B','C','B','G']
- let res =arr.reduce((a,b)=>{
- a[b]=(a[b]+1)||1;
- return a;
- },{})
- console.log(res)//{B: 3, A: 2, C: 1, G: 1}
- //这是统计数组中相同元素的个数
- let arr=[1,1,2,2,22,4,4,6,6,8]
- let res=arr.reduce((a,b)=>{
- return a.includes(b)?a:a.concat(b)
- },[])
- console.log(res)//[1, 2, 22, 4, 6, 8]
- //这是对数组去重
- //连续可以去重,但是跳号的真的能去重??
飞金币-Tween动画
- //调用cc.tween使其飞行到目标节点的位置
- //!!!!好像也不少人用 laya.tween
- cc.tween(缓动系统) :
- cc.tween(this.node)
- .to(time,{position:cc.v2(100,100),rotation:90})
- .to(time,{scale:2})
- .start()
- //cc.tween在调用start时会将之前生成的action队列重新组合生成一个cc.sequence队列
- //所以cc.tween的链式结构是依次执行每一个API的,也就是会执行完一个API再执行下一个API
- cc.tween(this.node)
- // 0s 时,node 的 scale 还是 1
- .to(1, { scale: 2 })
- // 1s 时,执行完第一个 action,scale 为 2
- .to(1, { scale: 3 })
- // 2s 时,执行完第二个 action,scale 为 3
- .start()
- // 调用 start 开始执行 cc.tween
- //cc.tween提供了两个设置属性的API:
- //to:对属性进行绝对值计算,最终的运行结果即是设置的属性值
- //by:对属性进行相对值计算,最终的运行结果是设置的属性值加上开始运行时节点的属性值
- cc.tween(node)
- .to(1, {scale: 2}) // node.scale === 2
- .by(1, {scale: 2}) // node.scale === 4 (2+2)
- .by(1, {scale: 1}) // node.scale === 5 (4+1)
- .to(1, {scale: 2}) // node.scale === 2
- .start()
- //repeat/repeatForever 函数会将前一个 action 作为作用对象。但是如果有参数提供了
- //其他的 action 或者 tween,则 repeat/repeatForever 函数会将传入的 action 或者 tween
- //作为作用对象。
- cc.tween(this.node)
- .by(1, { scale: 1 })
- // 对前一个 by 重复执行 10次
- .repeat(10)
- // 最后 node.scale === 11
- .start()
-
- // 也可以这样用
- cc.tween(this.node)
- .repeat(10,
- cc.tween().by(1, { scale: 1 })
- )
- .start()
-
- // 一直重复执行下去
- cc.tween(this.node)
- .by(1, { scale: 1 })
- .repeatForever()
- .start()
- /**延迟执行:*/
- cc.tween(this.node)
- // 延迟 1s
- .delay(1)
- .to(1, { scale: 2 })
- // 再延迟 1s
- .delay(1)
- .to(1, { scale: 3 })
- .start()
定时器
-
- setInterval(()=>{},time)
- //与setTimeout相似,setTimeout只回调一次,
- //但是这个是每个time时间就回调,会一直回调
JS数组reduce()方法详解及高级技巧 - 简书 (jianshu.com)