JavaScript开发的七个实用小技巧(很有用)

作者:Jimmy 时间:2024-04-22 13:22:26 

本文译文,采用意译。

下面这些方法对于我来说很有作用,自从我发现了这些操作。

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

标签:JS,技巧
0
投稿

猜你喜欢

  • python tornado微信开发入门代码

    2023-11-01 01:04:59
  • 登录EasyConnect后无法通过jdbc访问服务器数据库问题的解决方法

    2024-01-23 00:13:38
  • Go 语言中gin使用gzip压缩遇到的问题

    2024-02-01 16:52:40
  • 使用bootstrap-paginator.js 分页来进行ajax 异步分页请求示例

    2024-05-21 10:13:15
  • 在Python反编译中批量pyc转 py的实现代码

    2023-08-11 20:21:04
  • python3实现的zip格式压缩文件夹操作示例

    2023-07-31 18:17:48
  • 浅谈常用Java数据库连接池(小结)

    2024-01-18 06:50:25
  • Pytorch中使用TensorBoard详情

    2023-07-11 01:14:56
  • jQuery模板提案

    2010-03-30 18:27:00
  • 菜鸟课堂:MSSQL的安全设置问题解答

    2009-10-29 13:22:00
  • Python torch.fft.rfft()函数用法示例代码

    2022-02-15 02:03:36
  • python怎么自定义捕获错误

    2022-05-25 02:57:35
  • tensorflow-gpu安装的常见问题及解决方案

    2021-08-18 11:31:18
  • Anaconda安装pytorch和paddle的方法步骤

    2021-04-17 18:21:59
  • python3.4下django集成使用xadmin后台的方法

    2022-05-09 19:36:42
  • ASP使用缓存方法及缓存类详解

    2008-02-15 08:36:00
  • SqlServer实现类似Oracle的before触发器示例

    2024-01-24 11:06:50
  • Python version 2.7 required, which was not found in the registry

    2021-06-02 14:57:13
  • python入门教程之基本算术运算符

    2023-05-24 11:48:21
  • Mysql systemctl start mysqld报错的问题解决

    2024-01-26 03:41:45
  • asp之家 网络编程 m.aspxhome.com