箭头函数的返回值

这几天使用node.js编写后端代码,用到了sort函数,这个函数用来给数组排序,原数组会根据排序结果重新组合。比如下面的代码:

1
2
3
4
var arr=[2,1,3,4]

arr.sort((a,b)=>a-b)
console.log(arr)

sort的参数是一个函数,这个函数返回一个数值,根据返回的数值,对前后顺序进行排列。对于数字来说,使用减法就可以满足这个要求,当然也可以使用判断,如果a>b,返回1,a小于b返回-1,a等于b返回0。

如果需要给对象排序,可以使用对象中的某个数字字段,比如:

1
2
3
4
5
6
7
8
9
10
11
var arr[
{
name:"张三",
age:15
},
{
name:"李四",
age:13
},
]
arr.sort((a,b)=>a.age-b.age)

sort会返回一个指针,这个指针指向原数组,并不生成新的数组。所以是否使用返回值不重要。

在写程序时,犯了一个错误:

1
2
3
4
//正确
(a,b)=>a-b
//错误
(a,b)=>{a-b}

加上大括号后,函数实际上没有返回值,需要这样修改:

1
(a,b)=>{return a-b}

庆幸的是及时进行了测试,将这个隐患消除了。

常见符号的英文读法

编程中经常遇到各种符号,在看英文视频时经常会反应不过来这些符号到底怎么读,这里简单总结一下,作为备忘,后续逐渐增加。
#:hash,注意与sharp的区别,sharp是音乐中的升号♯,其实长相差不多
*:star或者asterisk
/:slash
:backslash
&:and
@:at
…:ellipsis
-:dash
.:dot

简书5年

2019年6月12日发表第一篇文章,到2024年11月13日发布最后一篇文章,五年多的时间,在简书发表文章1771篇,完成了一次日更一年,具体成果如下:

回头看这五年多的积累,还是有些成就感的,很多工作生活中的细节被记录下来,这些记录对将来的工作有好处,也是回忆的线索。之所以不进行下去,是因为平台的审核越来越严格,稍有不慎就被屏蔽,感觉没有必要花费经历在这些无谓的琐事上,在自己的网站上经营要更自由些。有几点体会总结一下。

  • 日积月累很重要。虽然每天只记一点,积累起来也很可观。
  • 不怕慢,就怕站。干任何事情都是这样,任何时候开始都不晚,在长时间尺度上,想干的事情只要去做,总能有结果。没有干成,往往是没有开始或者半途而废。写作、学习都是这样。
  • 技术的更新太快了。五年并不算久,但仍然可以看出技术迭代的速度。如果掌握了某种技术,需要赶紧已某种方式落地。
  • 越抽象的,越持久。与具体技术相比,抽象的模型可用性更持久。五年前建的审批流程模型,现在还在使用。
  • 时间戳很重要。很多记录没有标注时间,当时觉得没什么,后头来看,分不清年月日时。