首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

这些JavaScript方法将在短短几分钟内提升你的技能

现如今,我们构建大多数应用程序时都需要对一些数据集合进行修改。处理集合中的项目是你很可能遇到的常见操作。忘记常规的for循环方式吧

假如你想要展示一个产品列表,并对集合进行分类、筛选、搜索、修改或更新。或者你想做一些快速计算,比如:求和,相乘等等。那么达到这个目的的最佳方式是什么呢?

也许你不喜欢箭头函数,不想化太多时间去学习新东西,或者它们与你无关。 别担心,你并不孤单。我将想你展示如何使用ES5和ES6 两种方法去完成。

注意: 箭头函数和函数表达式/函数声明 并不完全相等,不能盲目地替换它们,请记住, 关键字在两者之间的作用不同。

我们将会看到的方法:

1. 展开运算符(Spread operator)

2. 循环

1. 展开运算符(Spread operator)

扩展运算符用于将数组项展开。扩展运算允许一个表达式在期望多个参数(用于函数调用)或多个元素(用于数组字面量)或多个变量(用于解构赋值)的位置扩展。

我们为什么要用它?

简单快速的显示数组项

它适用于数组和对象

快速直观的来传递参数

它只需要三个点

例子:

假如你想显示一个最喜欢的食物列表,而不需要创建一个循环函数。我们可以像这样使用扩展操作符:

2. for…of 循环

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

我们为什么要用它?

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

执行计算(求和、乘法等)

使用条件语句时( , , 等)

代码清晰易读

例子:

假如你有一个工具箱,你想要显示里面所有的工具。 迭代器使它变更简单。

3. includes() 方法

方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 ,否则返回 。请记住:它是区分大小写的,如果集合中的值为 ,并且你搜索 ,它将返回

我们为什么要用它?

构建简单的搜索功能

这是一种直观的方法来确定字符串是否存在。

它可以使用条件语句来修改、过滤等

代码清晰易读

例子:

比如说,无论出于什么原因,您都不知道车库里有什么车,而且你需要一个系统来检查您想要的车是否存在。 就能拯救你!

4. some() 方法

方法测试数组中的某些元素是否通过测试。 它用来检查数组中是否存在某些元素,并返回 或 。这与 方法的概念有些相似,不过参数是一个函数而不是一个字符串。

我们为什么要用它?

它确保某些项目通过测试

它使用函数执行条件语句

使代码更可读

真的很好用

例子:

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

ES5:

ES6:

5. every() 方法

方法测试数组的所有元素是否都通过了指定函数的测试。 它遍历数组,检查每个项目,并返回true或false。与some() 方法差不多。但是每个项目必须满足条件语句,否则它将返回false。

我们为什么要用它?

它确保每个项目都通过测试。

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

使代码更可读

例子:

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

ES5:

ES6:

6. filter() 方法

方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。

我们为什么要用它?

可以避免改变原数组

方便的过滤掉你不需要的东西

为你提供更可读的代码

例子:

假设你想只返回高于或等于30的价格。过滤掉所有其他的价格…

ES5:

ES6:

7. map() 方法

方法与 方法类似,用于返回一个新数组。但是,唯一的区别是它用于修改数组中的项目

我们为什么要用它?

避免对主数组进行更改。

可以方便修改你想要的项目。

为你提供更可读的代码

例子:

假如你有一个产品的价格表,但是你的经理需要一份新的价格表,因为它们已经被征税了25%。 方法可以帮助到你。

ES5:

ES6:

8. reduce() 方法

方法可以用来将一个数组转换成其他的东西,它可以是一个整数、一个对象、一个Primose等等。简而言之,它将整个数组 "reduce" 为一个值

我们为什么要用它?

计算数组里所有值的和或相乘

计算数组中每个元素出现的次数

按属性分组对象

依次执行 Promise

这是执行计算的快速方法

例子:

假设你想知道一周的总花费,可以使用 来得到结果

ES5:

ES6:

如果你喜欢这篇文章,记得请点赞 ❤️分享哟!你的支持是我创作的动力。

原文 | http://suo.im/5bIW7N

意译

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180516G1Q1UP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券