JavaScript开发的七个实用小技巧(很有用)
作者:Jimmy 发布时间:2024-04-22 13:22:26
标签:JS,技巧
本文译文,采用意译。
下面这些方法对于我来说很有作用,自从我发现了这些操作。
1. 数组求和
假设你有下面的数字数组:let numbers = [2,52,55,5]
。
计算求和,我们会想到使用 for,是吧。
但是我们可以使用这行代码完成let sum = numbers.reduce((x,y) => return x+y)
。如下:
let numbers = [2, 52, 55, 5];
let sum = numbers.reduce((x, y) => x + y);
console.log(sum); // 114
2. 使用 length 属性更改数组
我们可以更改数组的大小,通过更改 length 属性。
我们看下下面的操作。
let array = [11,12,12,122,1222];
console.log(array.length); // 5
array.length = 2;
console.log(array); // [11, 12]
3. 数组元素随机打乱
我们总会需要得到随机的数据,但是我们需要从特定的数据中的获取。
那么你可以使用下面的小技巧:
let array = [11, 12, 13, 14, 150, 15, 555, 556, 545];
let randomArray = array.sort(function() {
return Math.random() - 0.5
});
console.log(randomArray); // [150, 545, 15, 14, 11, 12, 13, 556, 555]
// 当然,生成的随机值,你每次运行代码都会有有所不同,上面的 console.log 我只是取了其中一种
4. 过滤唯一值
有时我们需要获取唯一的值。比如:我们在社交媒体上有公共的朋友,我们需要把他们筛选出来。(译者加)简单来说,类似求交集。
对于这种情况,我们可以使用 sets。
set 是定义明确的数据集合,即元素非空,不同且唯一。
let array = [11, 12, 12, 222];
const unique = [...new Set(array)];
console.log(unique); // [11, 12, 222]
5. 逗号运算符
逗号运算符 (,) 从左到右执行每个运算,返回最后一个操作数。
比如:
let x = 1;
x = (x++, x);
console.log(x); // 2
x = (2, 3);
console.log(x); // 3
6. 使用数组解构交换数据元素
交换数据从来没有像现在这样容易,我们一般交换数据元素会先命名一个临时变量,就比如下面:
let temporary = b;
b = a;
a = temporary;
这样有些繁琐,而且看着不舒服。那么替代的优化方案来了,你可以使用数组解构的方式,如下:
let x = 5;
let y = 10;
[x, y] = [y, x];
console.log(x); // 10
console.log(y); // 5
7. 使用 && 代替 If 条件判断为真的条件
&& 操作符,我们平时很好用,但是你了解后,相信你之后会常用。
// 使用 if 的条件判断
if(twitter) {
followme("adarsh____gupta")
}
// 你可以替换成这样
twiiter && followme("adarsh____gupta")
来源:https://juejin.cn/post/7089682091189190692


猜你喜欢
- 用analyze进行处理,定期进行处理ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tb1_name
- 统一捕获接口报错弹窗提示报错重定向基础鉴权表单序列化实现的功能统一捕获接口报错 : 用的axios内置的 * 弹窗提示: 引入 E
- 一、前期准备1.1 案例分析适用场景:单例布局1.2 方 * V视图 HTML+CSS+调试C js实现控制流程D数据 优化扩展二、代码结构&
- 因为一些原因,卸载了Anaconda2的版本,转向3..发现Jupyter挂了.百思不得其解.后来了解到是因为内核找不到的问题导致的.这里整
- 网站能切换几套CSS风格早已不是什么新鲜事了。大家也都知道怎么去弄。早上发现一个有意思得站点 http://www.leemunroe.co
- 在默认情况下,Access 2000/2002数据库是以“共享”的方式打开的,这样可以保证多人能够同时使用同一个数据库。不过,在共享方式打开
- 颜值打分定义可视化图像函数导入三维人脸关键点检测模型导入可视化函数和可视化样式将图像模型输入,获取预测结果BGR转RGB将RGB图像输入模型
- 1、如何统计序列中元素的出现频度实际案例:(1)某随机序列[12, 5, 6, 4, 6, 5, 5, 7, ...] 中找到出现次数最高的
- 前言首先来讲一下服务端渲染,直白的说就是在服务端拿数据进行解析渲染,直接生成html片段返回给前端。具体用法也有很多种比如:传统的服务端模板
- 在学习Django过程中在views.py进行逻辑处理时接触到了两种视图的书写风格,FBV和CBVFBV 指 function based
- 大家好,我是海拥,在今天的博客中,我们将讨论 Python 中简化代码的技巧。我清楚地记得当我选择学习 python 时,最令我震惊的是它的
- pathlib 模块提供了表示文件系统路径的类,可适用于不同的操作系统。使用 pathlib 模块,相比于 os 模块可以写出更简洁,易读的
- 本文实例为大家分享了windows10更换mysql8.0.17的具体步骤,供大家参考,具体内容如下下载windows版本mysql解压后创
- 一、程序功能:为Repeater实现分页二、窗体设计:1、新建ASP.NET Web应用程序,命名为Repeater2,保存路径为http:
- 在python开发中,经常会出现调用子文件夹下的py模块如上图,如果在test.py文件中,要调用meeting文件夹下面的huodongs
- 授权就是为某个用户赋予某些权限。例如,可以为新建的用户赋予查询所有数据库和表的权限。MySQL 提供了 GRANT 语句来为用户设置权限。在
- 我们在使用很多新闻系统的时候,都会发现一个问题,尤其是使用 HtmlEdit 从WORD文档中直接拷贝文章(尤其里面有复杂表格和文字)的时候
- 如下所示:import timedef date_compare(item1, item2): t1 = time.mktime(time.
- 1. 表单框类型<!DOCTYPE html><html lang="en"><head&
- 本文介绍基于Python语言,将一个Excel表格文件中的数据导入到Python中,并将其通过字典格式来存储的方法~ &a