内容简介:作者:Zander Shirley
每日前端夜话 第325篇
翻译: 疯狂的技术宅
作者:Zander Shirley
来源:dev.to
正文共:1229 字
预计阅读时间:10 分钟
我一直在寻找提高效率的新方法。JavaScript 总是充满令人出乎意料的惊喜。
1. 将 arguments 对象转换为数组
arguments对象是函数内部可访问的类似数组的对象,其中包含传递给该函数的参数的值。
但它与其他数组不同,我们可以访问其元素值并获得长度,但是不能在其上使用其他的数组方法。
幸运的是,我们可以将其转换为常规数组:
1var argArray = Array.prototype.slice.call(arguments);
2. 对数组中所有的值求和
我最初的想法是使用循环,但是那样做太费事了。
1var numbers = [3, 5, 7, 2]; 2var sum = numbers.reduce((x, y) => x + y); 3console.log(sum); // returns 17
3. 条件短路
我们有以下代码:
1if (hungry) { 2 goToFridge(); 3}
通过将变量与函数一起使用,我们可以使其更短:
1hungry && goToFridge()
4. 对条件使用逻辑或
我曾经在函数的开头声明自己的变量,只是为了避免在出现任何意外错误的情况下得到 undefined
。
1function doSomething(arg1){ 2 arg1 = arg1 || 32; // 如果变量尚未设置,则 arg1 将以 32 作为默认值 3}
5. 逗号运算符
逗号运算符( ,
)用来评估其每个操作数(从左到右)并返回最后一个操作数的值。
1let x = 1; 2 3x = (x++, x); 4 5console.log(x); 6// expected output: 2 7 8x = (2, 3); 9 10console.log(x); 11// expected output: 3
6. 用 length 调整数组大小
你可以调整数组大小或清空数组。
1var array = [11, 12, 13, 14, 15]; 2console.log(array.length); // 5 3 4array.length = 3; 5console.log(array.length); // 3 6console.log(array); // [11,12,13] 7 8array.length = 0; 9console.log(array.length); // 0 10console.log(array); // []
7. 通过数组解构对值进行交换
解构赋值语法是一种 JavaScript 表达式,可以将数组中的值或对象中的属性解压缩为不同的变量。
1let a = 1, b = 2 2[a, b] = [b, a] 3console.log(a) // -> 2 4console.log(b) // -> 1
8. 随机排列数组中的元素
我每天我都在洗牌'
1var list = [1, 2, 3, 4, 5, 6, 7, 8, 9]; 2console.log(list.sort(function() { 3 return Math.random() - 0.5 4})); 5// [4, 8, 2, 9, 1, 3, 6, 5, 7]
9. 属性名可以是动态的
你可以在声明对象之前分配动态属性。
1const dynamic = 'color'; 2var item = { 3 brand: 'Ford', 4 [dynamic]: 'Blue' 5} 6console.log(item); 7// { brand: "Ford", color: "Blue" }
10. 过滤唯一值
对于所有 ES6 爱好者,我们可以通过使用带有展开运算符的 Set 对象来创建一个仅包含唯一值的新数组。
1const my_array = [1, 2, 2, 3, 3, 4, 5, 5] 2const unique_array = [...new Set(my_array)]; 3console.log(unique_array); // [1, 2, 3, 4, 5]
你有什么 JavaScript 技巧或窍门要分享吗?
原文链接
https://dev.to/zandershirley/10-practical-javascript-tricks-2b7h
2020年
京程一灯课程体系上新,这是我们第一次将全部课程列表对外开放。
愿你有个好前程,愿你月薪30K。我们是认真的 !
点击文末 阅读全文 查看细节。
长按二维码,加大鹏老师微信好友
拉你加入前端技术交流群
唠一唠怎样才能拿高薪
✎ 往期精彩回顾
从 JavaScript、ES6、ES7 到 ES10,你学到哪儿了?
以上所述就是小编给大家介绍的《10 个实用的 JavaScript 小技巧》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 渗透技巧之Powershell实战技巧
- 渗透技巧——快捷方式文件的参数隐藏技巧
- Python实用技巧,你不知道的7个好玩的Python技巧
- Python 技巧总结
- 监控OpenStack的技巧
- JNI技巧
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Impractical Python Projects
Lee Vaughan / No Starch Press / 2018-11 / USD 29.95
Impractical Python Projects picks up where the complete beginner books leave off, expanding on existing concepts and introducing new tools that you’ll use every day. And to keep things interesting, ea......一起来看看 《Impractical Python Projects》 这本书的介绍吧!