05.12 短短几分钟内提升您的技能JavaScript方法

我们今天构建的大多数应用程序都需要进行某种数据收集修改。 处理集合中的项目是您很可能遇到的常见操作。 忘记用于循环的常规方式,如(int i; i <value.length>

假设您想要显示产品清单并进行分类,过滤,搜索,修改或更新集合。 或者,也许你想执行快速计算,如总和,乘法等等。 达到此目的的最佳方式是什么?

也许你不喜欢箭头功能,你不想花太多时间学习新的东西,或者它们与你无关。 别担心,你并不孤单。 我将向您展示ES5(功能减速)和ES6(箭头功能)是如何完成的。

请注意:箭头函数和函数声明/表达式不等同,不能一味地替换。 请记住,这个关键字在两者之间的工作方式不同。

我们将要看的方法是:

  1. Spread operator

  2. for…of iterator

  3. includes()

  4. some()

  5. every()

  6. filter()

  7. map()

  8. reduce()

1. Spread operator

Spread运算符将数组扩展为其元素。 它也可以用于对象文字。

我为什么要使用它?

  • 这是一种显示数组项目的简单快捷方式

  • 它适用于数组和对象文字

  • 这是一种传递参数的快速而直观的方式

它只需要三个点...

例:假设你想显示一个最喜欢的食物列表,而不需要创建一个循环函数。 使用这样的扩展运算符:

短短几分钟内提升您的技能JavaScript方法

2. for…of iterator

for ...语句循环/遍历集合,并为您提供修改特定项目的能力。 它取代了传统的做for循环的方式。

我为什么要使用它?

  • 这是添加或更新项目的简单方法

  • 执行计算(总和,乘法等)

  • 使用条件语句时(如果,while,switch等)

  • 导致清洁和可读的代码

例:假设你有一个工具箱,并且你想显示它里面的所有工具。 迭代器的for ...使它变得简单。

短短几分钟内提升您的技能JavaScript方法

3. Includes() method

includes()方法用于检查集合中是否存在特定字符串,并返回true或false。 请记住,它是区分大小写的:如果集合中的项目是SCHOOL,并且您搜索了学校,它将返回false。

我为什么要使用它?

  • 构建简单的搜索功能

  • 这是确定字符串是否存在的直观方法

  • 它使用条件语句来修改,过滤等等

  • 导致可读的代码

例:比如说,无论出于什么原因,您都不知道车库里有什么车,并且您需要一个系统来检查您想要的车是否存在。

短短几分钟内提升您的技能JavaScript方法

4. Some() method

some()方法检查数组中是否存在某些元素,并返回true或false。 这与includes()方法的概念有些相似,只是参数是一个函数而不是一个字符串。

我为什么要使用它?

  • 它确保一些项目通过测试

  • 它使用函数执行条件语句

  • 有些已经足够好了

例:假设你是一个俱乐部老板,并不关心谁进入俱乐部。 但有些人不允许进来,因为他们喝得太多了(我的创造力最好)。 查看下面的ES5和ES6的区别:

ES5:

短短几分钟内提升您的技能JavaScript方法

some() method

ES6:

短短几分钟内提升您的技能JavaScript方法

some() method w/ arrow function

5. Every() method

every()方法遍历数组,检查每个项目,并返回true或false。 与某些()相同的概念。 除了每个项目必须满足条件语句,否则它将返回false。

我为什么要使用它?

  • 它确保每件物品都通过测试

  • 您可以使用函数执行条件语句

例:你最后一次允许一些未成年学生进入俱乐部,有人报告了这一点,警方逮捕了你。 这一次你不会让这种情况发生,你会确保每个人都通过every()运算符来通过年龄限制。

ES5

短短几分钟内提升您的技能JavaScript方法

every() method

ES6

短短几分钟内提升您的技能JavaScript方法

every() method w/ arrow function

6. Filter() method

filter()方法创建一个包含所有通过测试的元素的新数组。

我为什么要使用它?

  • 所以你可以避免改变主阵列

  • 它可以让你过滤掉你不需要的物品

  • 为您提供更易读的代码

例:假设您只想返回高于或等于30的价格。过滤掉所有其他价格...

ES5

短短几分钟内提升您的技能JavaScript方法

filter() method

ES6

短短几分钟内提升您的技能JavaScript方法

filter() method w/ arrow function

7. Map() method

就返回新数组而言,map()方法与filter()方法类似。 但唯一的区别是它用于修改项目。

我为什么要使用它?

  • 它可以让你避免更改主阵列

  • 你可以修改你想要的项目

  • 为您提供更易读的代码

例:假设您有一个包含价格的产品清单。 你的经理需要一份清单,在他们征税25%后显示新价格。 map()方法可以帮助你。

ES5

短短几分钟内提升您的技能JavaScript方法

map() method

ES6

短短几分钟内提升您的技能JavaScript方法

map() method w/ arrow function

8. Reduce()方法

reduce()方法获得数组中数字的总和。 换句话说,它将整个数组“缩小”为一个值。 常用于计算。

我为什么要使用它?

  • 计算总和或平均值

  • 这是执行计算的快速方法

例:假设您想要查找一周内的总费用。 使用reduce()来获取该值。

ES5

短短几分钟内提升您的技能JavaScript方法

reduce() method

ES6

短短几分钟内提升您的技能JavaScript方法

reduce() method w/ arrow function

/<value.length>


分享到:


相關文章: