9个JavaScript日常开发小技巧

当然!以下是“9个JavaScript日常开发小技巧”的完整攻略:

1. 使用console.table()格式化输出数组/对象

在日常开发中,我们常常需要输出数组/对象信息以便于调试。但是,如果直接使用console.log()输出,往往难以看清楚其中结构和数据。这时候,我们可以使用console.table()方法,可以使用表格的形式格式化输出数组/对象信息,方便查阅。

例如,我们有如下一组数据:

const fruits = [
  { name: 'apple', color: 'red', price: 1.99 },
  { name: 'banana', color: 'yellow', price: 1.29 },
  { name: 'orange', color: 'orange', price: 0.99 }
];

我们可以使用console.table()方法输出:

console.table(fruits);

输出结果为:

(index) name color price
0 apple red 1.99
1 banana yellow 1.29
2 orange orange 0.99

2. 使用Array.from()和Set去除数组中的重复元素

在开发中,我们经常需要对数组进行去重操作。使用Set可以很方便地实现这个操作,但是其返回值是Set对象,需要再转换为数组。在这个时候可以使用Array.from()方法,它可以将一个类数组或可迭代对象转化为一个新的数组。结合Set可以去重,再使用展开操作符将去重后的结果转换为数组。

例如,假设我们有如下数组:

const arr = [1, 2, 3, 3, 4, 4, 5, 5];

我们要去重,可以使用以下代码:

const uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr); // [1, 2, 3, 4, 5]

这里,我们使用了Array.from()将Set对象转化为了一个新的数组,并用uniqueArr存储了去重后的结果。我们也可以使用展开操作进行同样的操作:

const uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // [1, 2, 3, 4, 5]

3. 使用默认参数和模板语法来拼接字符串

在日常开发中,我们经常需要拼接多个字符串,例如链接两个URL。使用ES6的默认参数和模板语法可以让这个过程更简单、更直观。

例如,我们想要拼接https://www.example.com/api/users两个字符串。

我们可以使用以下代码:

function joinUrl(url, path = '/') {
  return `${url}${path}`;
}

console.log(joinUrl('https://www.example.com/api', '/users')); // https://www.example.com/api/users

我们在定义函数joinUrl时,为第二个参数path设置了默认值'/'。接着,我们使用模板语法,在函数体内使用${url}${path}拼接完整的URL,使用函数即可。

4. 使用ES6的解构赋值进行迭代

在日常开发中,对于一个对象或数组进行迭代时,我们常常需要使用for循环或forEach方法取出其中每一个元素。ES6中的解构赋值可以让这个过程更简单、更直观。

例如,我们有如下数据:

const user = {
  name: '张三',
  age: 18,
  hobbies: ['唱歌', '跳舞', '游泳']
};

我们可以使用解构赋值将其属性值取出:

const { name, age, hobbies } = user;
console.log(name, age, hobbies); // 张三 18 ['唱歌', '跳舞', '游泳']

在迭代数组时,解构赋值同样可以提高代码简洁度和可读性。例如,我们有如下数组:

const arr = [1, 2, 3];

我们可以使用解构赋值取出其中的元素:

for (const number of arr) {
  console.log(number);
}

输出结果为:

1
2
3

5. 使用模板语法缩短条件语句的代码行数

日常开发中,我们经常需要使用条件表达式来进行控制流操作。使用ES6的模板语法可以让这个过程更简单、更直观。

例如,我们有如下操作:如果变量isTrue的值为真,则输出'yes',否则输出'no'。

使用模板语法可以简化代码:

const result = isTrue ? 'yes' : 'no';
console.log(result);

6. 使用Array.from()将可迭代对象转换为数组

在日常开发中,我们经常需要将一个对象转换为数组,例如:获取文本节点列表并将其转化为数组。使用ES6的Array.from()方法,我们可以很方便地实现这个操作。

例如,在以下代码中,我们获取指定页面内的文本节点,并将它们转换为一个数组。

const textNodes = document.querySelectorAll('body *:not(script):not(style)');

const textArray = Array.from(textNodes).filter(node => node.nodeType === 3);

console.log(textArray); // 打印文本节点信息的数组

将textNodes转为数组可以使用Array.from()方法,获取文本节点则可使用filter()方法。

7. 使用Array.some()判断数组是否包含某一元素

在日常开发中,我们经常需要判断一个数组中是否包含某个元素。ES6中的Array.some()方法可以很方便地实现这个需求,它会在数组中查找是否有任意一个元素满足指定的条件。

例如,我们有如下数组:

const nums = [1, 2, 3, 4, 5];

我们可以使用Array.some()方法轻松地判断数组中是否有某一个元素:

const isContain = nums.some(num => num === 3);
console.log(isContain); // true

8. 使用Array.reduce()计算数组或对象的累积值

在日常开发中,我们经常需要计算数组或属性对象的某个值的累积值。ES6中的Array.reduce()方法可以很方便地实现这个需求。使用reduce()可快捷地进行数据收集或产品制造流程。

例如,我们有如下数据:

const nums = [2, 4, 6, 8];

我们可以使用Array.reduce()方法,计算数组元素的总和:

const sum = nums.reduce((total, cur) => total + cur, 0);
console.log(sum); //20

其中,0是初始值。total是累加值,cur是每一个元素的值,返回值为每一个元素的值与前一项的总和。需要说明的是,reduce()方法还可以在对象上求和。

9. 使用Array.filter()过滤指定条件的数组元素

在日常开发中,我们常常需要从数组中筛选出某一个或某些元素。使用ES6中的Array.filter()方法可以很方便地实现这个操作。

例如,我们有如下数据:

const people = [
  { name: '张三', age: 20 },
  { name: '李四', age: 30 },
  { name: '王五', age: 40 },
  { name: '赵六', age: 50 }
];

我们可以使用Array.filter()方法,取出年龄大于等于30的人:

const result = people.filter(person => person.age >= 30);

console.log(result); // [{ name: '李四', age: 30 }, { name: '王五', age: 40 }, { name: '赵六', age: 50 }]

其中,箭头函数中的过滤条件是person.age >= 30

以上就是“9个JavaScript日常开发小技巧”的完整攻略,希望对你有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:9个JavaScript日常开发小技巧 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • JavaScript实现长图滚动效果

    下面是JavaScript实现长图滚动效果的完整攻略: 1. 原理介绍 实现长图滚动效果的原理是通过监听滚动事件来实现图片的滚动。具体来说,就是通过监测滚动事件中的scrollTop值来确定图片的位置,然后通过修改图片的位置来使其滚动。 2. 实现步骤 具体实现步骤如下: 2.1 HTML结构 先确定HTML结构,可以是一个包含多张图片的父元素。 <d…

    JavaScript 2023年6月11日
    00
  • jQuery基础教程笔记适合js新手第2/2页

    首先,这篇教程笔记主要介绍了jQuery库的使用,适合于JS新手入门。 简介 简介了jQuery这个库的历史和概述,以及它的好处 点明了jQuery的编写方式和学习jQuery的建议 选择器 选择器是使用jQuery的一个非常重要的部分,它是用来定位网页中元素的方法,包括ID选择器、类选择器、属性选择器等等 详细讲解了选择器的语法格式以及用法,并给出了代码示…

    JavaScript 2023年5月18日
    00
  • 作为程序员必须了解的缩写和专业名词

    作为程序员必须了解的缩写和专业名词 作为一名程序员,掌握一些缩写和专业术语是非常重要的,可以帮助我们更快速地理解代码和文档,也能够更好地和同行进行沟通交流。下面是一些必须了解的缩写和专业名词: 常见缩写 API API是Application Programming Interface的缩写, 指的是应用程序编程接口,是一组定义、规范了应用程序中数据和功能的…

    JavaScript 2023年5月28日
    00
  • JavaScript中Promise的使用方法实例

    下面就是关于“JavaScript中Promise的使用方法实例”的完整攻略。 什么是Promise? Promise 是一种异步编程的解决方案,它解决了回调函数嵌套引起的代码可读性差、容易出错和难以维护的问题。通过 Promise,可以更加优雅、可读、容错的编写异步代码。 Promise 的基本语法结构如下: new Promise(function(re…

    JavaScript 2023年5月27日
    00
  • 深浅拷贝,温故知新

    1、深拷贝 1.1、概念 对象的深拷贝是指其属性与其拷贝的源对象的属性不共享相同的引用(指向相同的底层值)的副本。 因此,当你更改源或副本时,可以确保不会导致其他对象也发生更改;也就是说,你不会无意中对源或副本造成意料之外的更改。 在深拷贝中,源和副本是完全独立的。深拷贝与其源对象不共享引用,所以对深拷贝所做的任何更改都不会影响源对象。 1.2、实现方式: …

    JavaScript 2023年5月11日
    00
  • JavaScript 装逼指南(js另类写法)

    JavaScript 装逼指南(js另类写法) 简介 本文介绍了一些十分妙趣横生的 JavaScript 另类写法,可用于装逼或增加代码趣味性。 示例 1. 用递归函数实现累加器 const add = (n) => (n === 0 ? 0 : n + add(n – 1)); console.log(add(4)); // 10 这个累加器思路非常…

    JavaScript 2023年5月18日
    00
  • JavaScript包装对象使用介绍

    当在 JavaScript 中使用基本数据类型时,例如数字、字符串和布尔值时,这些类型会被自动转换为对应的包装对象类型 Number、String 和 Boolean。这些包装对象类型在需要调用其原型链上的方法时特别有用。下面介绍一下 JavaScript 包装对象的使用方法。 JavaScript 包装对象概述 在 JavaScript 中包装对象类型是一…

    JavaScript 2023年5月27日
    00
  • JavaScript文档碎片操作实例分析

    下面我将为您详细讲解“JavaScript文档碎片操作实例分析”的完整攻略。 什么是文档碎片? 文档碎片(DocumentFragment)是在DOM中经常使用的一个API,它代表一个没有父级节点的文档片段,可以包含多个子节点。它的主要功能是在内存中构建DOM节点,然后一次性地将它们添加到页面上,避免了频繁地操作DOM而导致的性能问题。 如何使用文档碎片? …

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部