9个JavaScript日常开发小技巧

yizhihongxing

当然!以下是“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中数组成员的添加、删除介绍 JavaScript中的数组是一种特殊的对象,我们可以通过数组索引将多个值存储在其中,并可以方便地进行添加、删除等操作。 添加元素 JavaScript提供了多种向数组中添加元素的方法: 1. push() push() 方法可以在数组的末尾添加一个或多个元素,并返回数组的新长度。 let arr = [‘ap…

    JavaScript 2023年5月27日
    00
  • JavaScript如何监测数组的变化

    JavaScript提供了一些方法来监测数组的变化,包括改变数组的方法、监测数组的方法以及对数组进行监听的方法,下面将分别进行详细讲解: 改变数组的方法 JavaScript提供了一些方法用于改变数组,这些方法有可能会改变数组的原始结构,从而影响到程序的正确性。因此,JavaScript也提供了一些-API-来监测数组的变化,以便我们能够及时发现程序中的问题…

    JavaScript 2023年5月27日
    00
  • js获取html文件的思路及示例

    获取HTML文件的思路主要分为两步:首先,需要用AJAX(Asynchronous JavaScript and XML)进行HTTP请求来获取HTML文件;然后,需要解析文件内容,将其转换为DOM(Document Object Model)对象,以便进一步操作。下面我将分步骤详细讲解。 一、用AJAX请求HTML文件 AJAX是一种用于创建异步请求的技术…

    JavaScript 2023年5月27日
    00
  • 一篇文章看懂JavaScript中的回调

    下面我来详细讲解“一篇文章看懂JavaScript中的回调”的完整攻略。 1. 了解回调函数的概念 回调函数,就是将一个函数作为参数传递给另外一个函数,以便当这个函数完成时,将结果返回给原来传递的函数。 我们可以通过以下方式来定义一个回调函数: function callback(param) { console.log(param); } 2. 核心应用场…

    JavaScript 2023年6月11日
    00
  • JavaScript箭头函数的五种使用方法及三点注意事项

    下面我就详细讲解一下“JavaScript箭头函数的五种使用方法及三点注意事项”的攻略。 JavaScript箭头函数的五种使用方法 1. 简单的箭头函数 简单的箭头函数是指只有一个参数且只有一条语句的箭头函数。例如,以下代码: const greeting = name => `Hello, ${name}!`; console.log(greeti…

    JavaScript 2023年5月27日
    00
  • JS二维数组的定义说明

    JS的二维数组是指一个数组中包含着另一个数组,即数组的数组。二维数组在处理矩阵类的数据时非常有用,并在编程中也经常被使用。 定义方式 定义一个二维数组可以使用以下两种方式: 嵌套数组 嵌套数组的方式就是在一个数组内部再定义一个数组,如下面的例子所示: let arr = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]; 这个二维数组的…

    JavaScript 2023年5月27日
    00
  • 深入理解 ES6中的 Reflect用法

    关于“深入理解 ES6中的 Reflect用法”,以下是一份详尽的攻略。 什么是Reflect? Reflect是在ES6中新加入的全局对象,它提供了一些用于操作对象的方法,并且这些方法与语言内部的操作保持一致,比如Reflect.get方法就是对象属性的取值方法,对应到语言内部的操作就是读取属性。Reflect方法的设计理念是让对象操作更加清晰、简洁、易于…

    JavaScript 2023年6月10日
    00
  • JS 实现列表与多选框选择附预览动画

    实现列表与多选框选择附预览动画需要通过 HTML、CSS 和 JavaScript 组合完成。 HTML 结构 首先在 HTML 中需要定义一个列表,并将每个 li 元素封装在一个 div 中,每个 div 中包含一个 checkbox 和 label 元素。以下是一个例子: <div class="list-item"> &…

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