语法记录-JS中一些简洁语法记录
发表于:2024-05-20 |

前言

大家5.20快乐,虽然我不快乐,那就水一篇文章,记录一下我今天用的一些新语法,之前并不知道的那种

巧妙利用Unicode码

之前我还真不知道还有这个写法,直到今天有个需求,要我给一个数组对象中的每一个值按照顺序追加,’A’,’B’,’C’,’D’…’Z’这样的逻辑,一开始我的想法有点天真,将’A’-‘Z’搞个数组啥的,依次加上,但是后来想想太呆瓜了,就去研究了一下,果然,有简便的方法,就是利用Unicode码来写

1
2
3
4
5
this.list=this.list.map((item,index)=>{
// 将A-Z按照顺序追加
item.billsNo = item.billsNo + String.fromCharCode(65 + index);
return item;
})

这里用到了String.formCharCode,这里传入Unicode码对应的数值,就可以变成对应的字符,以此类推,大家也可用这个方法做更多的逻辑。

都讲到这里了,那么就稍微拓展一下用法,String.formCharCode,不仅可以传一个参数,还可以传递多个

1
2
const n1=String.fromCharCode(72,69,76,76,79)
// n1=`HELLO`

与它对应的就是charCodeAt,返回指定位置的字符的Unicode编码

1
2
3
const str=`Hello`
const n2=str.charCodeAt(0);
// n2=72

复制多个对象内容

一个数组中,我需要复制多个内容,这里我常用的就是fill,这里用5个举例,对象为{a:"1",b:"2"}

1
2
const baseObject={a:"1",b:"2"}
baseObject.concat(new Array(5).fill(baseObject))

然后我今天又看到个写法,感觉还挺高级,利用Array.from来生成数组大概如下,大概意思我是可以看懂的,Array.from能够将伪数组变成数组,啥是伪数组呢,我自己的定义就是有length这个属性,比如Set这种,都可以在我这里成为伪数组。

1
2
const baseObject={a:"1",b:"2"}
baseObject.concat(Array.from({length:5},()=>({...baseObject})));

结语

本篇内容持续更新,我看到啥有意思的js写法,就通过这篇文章和大家一起分享。

上一篇:
【PS学习】01-软件安装
下一篇:
【算法学习】02-利用数据结构思维解决问题