7 个 JavaScript 开发小技巧

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

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第23天,点击查看活动详情


本文译文,采用意译。


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


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")
复制代码


总结



我们讲解了一些少听说 JavaScript 的技巧,这些技巧能够帮你节省时间,提高生产力。



相关文章
|
3天前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可以是任意类型且有序,与对象的字符串或符号键不同;Set存储唯一值,无重复。两者皆可迭代,支持for...of循环。Map有get、set、has、delete等方法,Set有add、delete、has方法。示例展示了Map和Set的基本操作。
17 3
|
1月前
|
开发框架 JavaScript 安全
js开发:请解释什么是Express框架,以及它在项目中的作用。
Express是Node.js的Web开发框架,简化路由管理,支持HTTP请求处理。它采用中间件系统增强功能,如日志和错误处理,集成多种模板引擎(EJS、Jade、Pug)用于HTML渲染,并提供安全中间件提升应用安全性。其可扩展性允许选用合适插件扩展功能,加速开发进程。
|
1月前
|
缓存 JavaScript 数据安全/隐私保护
js开发:请解释什么是ES6的Proxy,以及它的用途。
`ES6`的`Proxy`对象用于创建一个代理,能拦截并自定义目标对象的访问和操作,应用于数据绑定、访问控制、函数调用的拦截与修改以及异步操作处理。
18 3
|
1月前
|
JavaScript
js开发:请解释什么是ES6的类(class),并说明它与传统构造函数的区别。
ES6的类提供了一种更简洁的面向对象编程方式,对比传统的构造函数,具有更好的可读性和可维护性。类使用`class`定义,`constructor`定义构造方法,`extends`实现继承,并可直接定义静态方法。示例展示了如何创建`Person`类、`Student`子类以及它们的方法调用。
22 2
|
5天前
|
JavaScript 前端开发
js开发:请解释事件冒泡和事件捕获。
JavaScript中的事件处理有冒泡和捕获两种方式。事件冒泡是从子元素向上级元素传递,而事件捕获则从外层元素向内层传递。`addEventListener`的第三个参数可设定事件模式,`false`或不设为冒泡,`true`为捕获。示例代码展示了如何设置。
19 2
|
2天前
|
前端开发 JavaScript
js开发中的异步处理
JavaScript中的异步处理包括回调函数、Promise和async/await。回调函数是早期方法,将函数作为参数传递给异步操作并在完成后执行。Promise提供链式处理,通过resolve和reject管理异步操作的成功或失败。async/await基于Promise,允许写更简洁的同步风格代码,通过try-catch处理错误。Promise和async/await是现代推荐的异步处理方式。
|
3天前
|
JavaScript 前端开发
js开发:请解释什么是ES6的Generator函数,以及它的用途。
ES6的Generator函数是暂停/恢复功能的特殊函数,利用yield返回多个值,适用于异步编程和流处理,解决了回调地狱问题。例如,一个简单的Generator函数可以这样表示: ```javascript function* generator() { yield 'Hello'; yield 'World'; } ``` 创建实例后,通过`.next()`逐次输出"Hello"和"World",展示其暂停和恢复的特性。
14 0
|
3天前
|
缓存 JavaScript 前端开发
js开发:请解释什么是Webpack,以及它在项目中的作用。
Webpack是开源的JavaScript模块打包器,用于前端项目构建,整合并优化JavaScript、CSS、图片等资源。它实现模块打包、代码分割以提升加载速度,同时进行资源优化和缓存。Webpack的插件机制可扩展功能,支持热更新以加速开发流程。
13 2
|
5天前
|
JavaScript 前端开发
js开发:请解释this关键字在JavaScript中的用法。
【4月更文挑战第23天】JavaScript的this关键字根据执行环境指向不同对象:全局中指向全局对象(如window),普通函数中默认指向全局对象,作为方法调用时指向调用对象;构造函数中指向新实例,箭头函数继承所在上下文的this。可通过call、apply、bind方法显式改变this指向。
7 1
|
5天前
|
JavaScript 前端开发
js开发:请解释同步和异步编程的区别。
同步编程按顺序执行,易阻塞;异步编程不阻塞,提高效率。同步适合简单操作,异步适合并发场景。示例展示了JavaScript中同步和异步函数的使用。
15 0