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日

相关文章

  • 不依赖Flash和任何JS库实现文本复制与剪切附源码下载

    实现文本复制和剪切可以简单地使用 JavaScript 的 execCommand() 方法,但该方法在一些最新的浏览器中已被废弃或不再可用。因此,我们需要一种新的方法来实现这个功能,而且不仅能够解决浏览器兼容性问题,还要避免依赖第三方库。下面是一个完整的攻略。 步骤 1:创建 HTML 页面 创建一个 HTML 页面,并在页面中添加一个文本输入框和复制和剪…

    JavaScript 2023年6月11日
    00
  • 一种新的日期处理方式之JavaScript Temporal API

    一、JavaScript Temporal API简介 JavaScript Temporal API是一个新的JavaScript API,它提供了一种新的日期和时间处理方式,用于简化处理日期、时间和时间间隔的操作。它的设计目标是提供一个简单易用的API,能够处理所有的日期和时间操作,包括处理时区、分别取年月日等操作。 二、安装JavaScript Tem…

    JavaScript 2023年6月10日
    00
  • 详解JavaScript的Symbol类型、隐藏属性、全局注册表

    详解JavaScript的Symbol类型、隐藏属性、全局注册表 JavaScript的Symbol类型 JavaScript的Symbol类型是ES6新增的一种基本数据类型,可以用来创建唯一的身份标识符。它是一种类似于字符串的数据类型,但是具有唯一性,并且不可变。 Symbol类型的创建方法是通过Symbol()函数,例如: const key = Sym…

    JavaScript 2023年5月27日
    00
  • javascript实现鼠标点击页面 移动DIV

    实现鼠标点击页面移动DIV可以通过JavaScript来完成,这需要监听鼠标的事件,在事件中获取鼠标的坐标位置,然后动态修改DIV元素的位置。下面是完整的实现攻略: 监听鼠标事件 通过addEventListener方法,可以为页面添加鼠标事件监听器,捕获鼠标事件并在事件处理程序中处理。下面是一个简单的示例代码: document.addEventListe…

    JavaScript 2023年6月11日
    00
  • JavaScript实现反转字符串的方法详解

    题目:“JavaScript实现反转字符串的方法详解” 介绍 在JavaScript中,我们可以通过各种不同的方式来反转字符串。在本文中,我们将会详细介绍6种不同的实现方法以实现字符串反转。 方法一:使用.split()、.reverse()和.join()方法 此方法是最简单也是最直接的反转字符串的实现方式。首先,我们使用.split()方法将字符串拆分成…

    JavaScript 2023年5月28日
    00
  • JavaScript框架(iframe)操作总结

    JavaScript框架(iframe)操作总结 什么是 iframe? iframe 是 HTML 标签之一,用于在网页中嵌入另一个网页或者文档。它可以允许开发者在其网页中嵌入其他页面,或将整个页面作为框架嵌入到网页中。这个功能通常用于在网站页面中添加广告、视频或其他内容。 实现 iframe 的方式 下面是实现 iframe 的方式: HTML实现: &…

    JavaScript 2023年6月11日
    00
  • 原生js制作日历控件实例分享

    下面我会给出详细的“原生js制作日历控件实例分享”的攻略: 一、准备工作 首先,我们需要定义一些全局变量和函数: var year = new Date().getFullYear(); // 获取当前年份 var month = new Date().getMonth() + 1; // 获取当前月份 var date = new Date().getDa…

    JavaScript 2023年6月10日
    00
  • 在Webpack中用url-loader处理图片和字体的问题

    在Webpack中使用url-loader处理图片和字体文件,可以方便地将这些文件打包到生成的最终bundle文件中,从而加快页面的加载速度。下面是一份完整的攻略,包括安装必要的loader、配置Webpack以及两个例子。 安装必要的loader 首先,为了使用url-loader,我们需要安装它。可以使用npm或者yarn。 使用npm: npm ins…

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