本文摘自PHP中文网,作者Guanhui,侵删。

1. 全局替换
我们知道,字符串函数 replace () 仅替换第一次出现的情况。
您可以通过在正则表达式的末尾添加 /g 来替换所有出现的内容。
1 2 3 4 5 | var example = "potato potato" ;
console.log(example.replace(/pot/, "tom" ));
console.log(example.replace(/pot/g, "tom" ));
|
2. 提取唯一值
通过使用 Set 对象和展开运算符,我们可以创建一个只有唯一值的新数组。
1 2 3 4 | var entries = [1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 8, 4, 2, 1]
var unique_entries = [... new Set(entries)];
console.log(unique_entries);
|
3. 将数字转换为字符串
我们只需要连接一组空引号。
1 2 3 4 5 | var converted_number = 5 + "" ;
console.log(converted_number);
console.log( typeof converted_number);
|
4. 将字符串转换为数字
我们需要的只有 + 运算符。
需要注意的一点是仅适用于 “字符串数字”。
1 2 3 4 5 6 | the_string = "123" ;
console.log(+the_string);
the_string = "hello" ;
console.log(+the_string);
|
5. 随机排列数组中的元素
我每天都在洗牌
1 2 3 4 5 | var my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(my_list.sort( function () {
return Math.random() - 0.5
}));
|
6. 多维数组扁平化
只需使用扩展运算符。
1 2 3 | var entries = [1, [2, 5], [6, 7], 9];
var flat_entries = [].concat(...entries);
|
7. 短路条件
让我们来看这个例子:
1 2 3 | if (available) {
addToCart();
}
|
只需将变量与函数一起使用即可将其缩短:
8. 动态属性名
我一直以为我必须先声明一个对象才能分配动态属性。
1 2 3 4 5 6 7 | const dynamic = 'flavour' ;
var item = {
name: 'Coke' ,
[dynamic]: 'Cherry'
}
console.log(item);
|
9. 使用 length 去调整或清空一个数组
我们主要重写了数组的长度。
如果我们想要调整数组的大小:
1 2 3 4 5 6 7 8 | var entries = [1, 2, 3, 4, 5, 6, 7];
console.log(entries.length);
entries.length = 4;
console.log(entries.length);
console.log(entries);
|
如果我们想要空数组:
1 2 3 4 5 6 7 8 | var entries = [1, 2, 3, 4, 5, 6, 7];
console.log(entries.length);
entries.length = 0;
console.log(entries.length);
console.log(entries);
|
推荐教程:《JS教程》
以上就是JS 中 9 个强大主流写法(各种 Hack 写法)的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
javascript 中 settimeout 函数怎么用?
javascript jquery是什么
js怎么修改css属性
js如何修改css
jq实现弹幕效果
vue.js前端框架有哪些特点
js 中 9 个强大主流写法(各种 hack 写法)
js如何添加css样式
javascript如何解除事件绑定
js为什么回调?
更多相关阅读请进入《js》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » JS 中 9 个强大主流写法(各种 Hack 写法)