ES6弥补了数组的缺陷,请使用Array.of()方法

Array.of() 主要是弥补数组构造函数 Array() 的不足。因为参数个数的不同,导致 Array() 的重载,Array.of 不存在由于参数不同而导致的重载,并且基本上可以用来替代 Array()new Array()

Array.of() 静态方法通过可变数量的参数创建一个新的 Array 实例,而不考虑参数的数量或类型

官方解释

基本语法

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

js 复制代码
Array.of(参数0,[, 参数1[, ...[, 参数N]]])

基本实例

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

js 复制代码
Array.of() // [] 
Array.of(undefined) // [undefined] 
Array.of(0) // [0] 
Array.of(1, 2, 3) // [1, 2, 3]

Array.of总是返回参数值组成的数组。如果没有参数,

重点比较

js 复制代码
Array()               // []
Array(2)              // [, ,]
Array(1, 2)          // [1, 2]

Array.of()            // []
Array.of(2)           // [2]
Array.of(1, 2, 'abc')  // [1, 2, "abc"]

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

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

这就是用Array.of生成数组的好处

扩展

js 复制代码
if (!Array.of) {
  Array.of = function() {
    return Array.prototype.slice.call(arguments);
  };
}

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

相关推荐
江城开朗的豌豆10 分钟前
Vue-router方法大全:让页面跳转随心所欲!
前端·javascript·vue.js
江城开朗的豌豆23 分钟前
Vue路由动态生成秘籍:让你的链接'活'起来!
前端·javascript·vue.js
晓得迷路了23 分钟前
栗子前端技术周刊第 88 期 - Apache ECharts 6.0 beta、Deno 2.4、Astro 5.11...
前端·javascript·echarts
江城开朗的豌豆28 分钟前
在写vue公用组件的时候,怎么提高可配置性
前端·javascript·vue.js
江城开朗的豌豆29 分钟前
Vue路由跳转的N种姿势,总有一种适合你!
前端·javascript·vue.js
江城开朗的豌豆30 分钟前
Vue路由玩法大揭秘:三种路由模式你Pick谁?
前端·javascript·vue.js
江城开朗的豌豆30 分钟前
Vue路由守卫全攻略:给页面访问装上'安检门'
前端·javascript·vue.js
前端 贾公子38 分钟前
monorepo + Turborepo --- 开发应用程序
java·前端·javascript
江城开朗的豌豆42 分钟前
Vue路由传参避坑指南:params和query的那些猫腻
前端·javascript·vue.js
十里青山1 小时前
超好用的vue图片预览插件更新啦,hevue-img-preview 7.0.0版本正式发布,支持vue2/vue3/移动/pc,增加缩略图、下载、自定义样式等
前端·javascript·vue.js