JS 中 9 个强大主流写法(各种 Hack 写法)

简介1.全局替换我们知道,字符串函数replace()仅替换第一次出现的情况。您可以通过在正则表达式的末尾添加/g来替换所有出现的内容。varexample=”potatopotato”;console.log(example.replace(/pot/,”tom”));//”tomatopotato”console.log(example.replace(/pot/g,”tom”));//”toma

  

1. 全局替换

我们知道,字符串函数 replace () 仅替换第一次出现的情况。

您可以通过在正则表达式的末尾添加 /g 来替换所有出现的内容。

varexample="potatopotato";console.log(example.replace(/pot/,"tom"));//"tomatopotato"console.log(example.replace(/pot/g,"tom"));//"tomatotomato"

2. 提取唯一值

通过使用 Set 对象和展开运算符,我们可以创建一个只有唯一值的新数组。

varentries=[1,2,2,3,4,5,6,6,7,7,8,4,2,1]varunique_entries=[...newSet(entries)];console.log(unique_entries);//[1,2,3,4,5,6,7,8]

3. 将数字转换为字符串

我们只需要连接一组空引号。

varconverted_number=5+"";console.log(converted_number);//5console.log(typeofconverted_number);//string

4. 将字符串转换为数字

我们需要的只有 + 运算符。

需要注意的一点是仅适用于 “字符串数字”。

the_string="123";console.log(+the_string);//123the_string="hello";console.log(+the_string);//NaN

5. 随机排列数组中的元素

我每天都在洗牌

varmy_list=[1,2,3,4,5,6,7,8,9];console.log(my_list.sort(function(){returnMath.random()-0.5}));//[4,8,2,9,1,3,6,5,7]

6. 多维数组扁平化

只需使用扩展运算符。

varentries=[1,[2,5],[6,7],9];varflat_entries=[].concat(...entries);//[1,2,5,6,7,9]

7. 短路条件

让我们来看这个例子:

if(available){addToCart();}

只需将变量与函数一起使用即可将其缩短:

available&&addToCart()

8. 动态属性名

我一直以为我必须先声明一个对象才能分配动态属性。

constdynamic='flavour';varitem={name:'Coke',[dynamic]:'Cherry'}console.log(item);//{name:"Coke",flavour:"Cherry"}

9. 使用 length 去调整或清空一个数组

我们主要重写了数组的长度。

如果我们想要调整数组的大小:

varentries=[1,2,3,4,5,6,7];console.log(entries.length);//7entries.length=4;console.log(entries.length);//4console.log(entries);//[1,2,3,4]

如果我们想要空数组:

varentries=[1,2,3,4,5,6,7];console.log(entries.length);//7entries.length=0;console.log(entries.length);//0console.log(entries);//[]

下载链接:网站源码/小程序源码/网站模板下载

版权声明

   站内部分内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供网络资源分享服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请 联系我们 一经核实,立即删除。并对发布账号进行永久封禁处理。在为用户提供最好的产品同时,保证优秀的服务质量。


本站仅提供信息存储空间,不拥有所有权,不承担相关法律责任。

给TA打赏
共{{data.count}}人
人已打赏
网站技巧

php如何实现图片上传的封装

2024-9-19 19:43:43

网站技巧

4种移动端适配方法

2024-9-19 19:43:45

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索