22. ES6+ Array.of()方法

AI 概述
1. 前言2. 方法详情2.1 基本语法2.2 基本实例3. 对比 Array()4. 扩展5. 小结 1. 前言 本节介绍 ES6 的数组的新增方法 Array.of() 该方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。Array.of() 主要是弥补数组构造函数 Array() 的不足。因为参数个数的不同,导致 Array() 的重载...
目录
文章目录隐藏
  1. 1. 前言
  2. 2. 方法详情
  3. 2.2 基本实例
  4. 3. 对比 Array()
  5. 4. 扩展
  6. 5. 小结

1. 前言

本节介绍 ES6 的数组的新增方法 Array.of() 该方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。Array.of() 主要是弥补数组构造函数 Array() 的不足。因为参数个数的不同,导致 Array() 的重载,Array.of 不存在由于参数不同而导致的重载,并且基本上可以用来替代 Array() 或 new Array()

2. 方法详情

2.1 基本语法

Array.of() 是创建数组的方法,它接收若干个参数,返回一个新的 Array 实例,类似 Array() 方法。

语法使用:

Array.of(element0[, element1[, ...[, elementN]]])

参数解释:

参数 描述
elementN 数组元素,可以是任意个参数,将按顺序成为返回数组中的元素

2.2 基本实例

Array.of() 会按顺序接受 N 个参数,接收的所有参数都会成为新数组的项。

Array.of(7);          // [7] 
Array.of(1, 2, 3);    // [1, 2, 3]
Array.of(undefined)   // [undefined]
Array.of(3).length    // 1

3. 对比 Array()

Array.of 的主要作用是弥补 Array() 的不足的,下面我们来看看他们有什么不同。

Array() 会根据接收的参数不同从而返回不同的数组,例如:

Array()               // []
Array(3)              // [, , ,]
Array(2, 12)          // [2, 12]

Array.of()            // []
Array.of(3)           // [3]
Array.of(2, 12, 'a')  // [2, 12, "a"]

Array 方法在没有参数、一个参数、两个参数时,返回结果都不一样。

  • 没有参数的时候返回一个空数组;
  • 有一个参数的时候,返回一个长度为此参数的空数组,并且此数组不能被迭代;
  • 有两个参数的时候,才会把参数当成数组的每一项返回;

由于参数的不同 Array 方法会进行重载,而且他们的行为也不一致,Array.of() 方法总会创建一个包含所有传入参数的数组,而不管参数的数量与类型。

4. 扩展

如果原生不支持的话,可以手动实现一个 Array.of() 方法。

if (!Array.of) {
  Array.of = function() {
    return Array.prototype.slice.call(arguments);
  };
}

使用 Array 的 slice 方法把接收到的 arguments 参数,转化成数组的每一项。

5. 小结

本章讲解了 ES6 的 Array.of() 方法,该方法用于创建数组,主要为了替换 Array() 方法,弥补 Array() 方法的不足。

以上关于22. ES6+ Array.of()方法的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

「点点赞赏,手留余香」

0

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 22. ES6+ Array.of()方法

发表回复