ES6中新增Array.of()函数的用法详解

new Array()方法

ES6为Array增加了of函数用一种明确的含义将一个或多个值转换成数组。因为用new Array()构造数组的时候,是有二意性的。

构造时,传一个参数,实际上是指定数组的长度,表示生成多大的数组。

构造时,传多个参数,每个参数都是数组的一个元素。

const arr1 = new Array()
const arr2 = new Array(5)
const arr3 = new Array(1, 3, '白色', {p1: 'v1'})
console.log('%s', JSON.stringify(arr1))
console.log('%s', JSON.stringify(arr2))
console.log('%s', JSON.stringify(arr3))

输出结果:

Array.of()方法

ES6增加的Array.of()方法,只有一个含义,of的参数就是表示转换后数组的元素。

JavaScript中Array对象是一个全局对象,可在所有位置进行调用。Array.of()方法创建一个具有可变数量参数的新数组实例。

Array.of() 总是返回参数值组成的数组,用于将一组值,转换为数组。这个方法的主要目的,是弥补数组构造函数Array()的不足。因为参数个数的不同,会导致Array()的行为有差异。

const arr4 = Array.of()
const arr5 = Array.of(5)
const arr6 = Array.of(1, 3, '白色', {p1: 'v1'})
console.log('%s', JSON.stringify(arr4))
console.log('%s', JSON.stringify(arr5))
console.log('%s', JSON.stringify(arr6))

输出结果:

这就是用of生成数组的好处,含义一致。

Array.of基本上可以用来替代Array()或new Array(),并且不存在由于参数不同而导致的重载,它的行为非常统一。

参考资料

Array.of() - JavaScript | MDN | Array.of方法详解_笔记大全_设计学院

JS数组的 Array.of() 和 Array.from() 方法的使用 | 重磅!超详细的 JS 数组方法整理出来了 - 知乎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/451251.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

问题:媒体查询语法中, 可用设备名参数表示“文档打印或预览“的是 #媒体#媒体#其他

问题:媒体查询语法中, 可用设备名参数表示"文档打印或预览"的是 A、C.?screen B.?projection C、A.?print D.?speech 参考答案如图所示

【JavaEE】UDP协议与TCP协议

作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文于《JavaEE》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造&…

【大厂AI课学习笔记】1.4 算法的进步(4)关于李飞飞团队的ImageNet

第一个图像数据库是ImageNet,由斯坦福大学的计算机科学家李飞飞推出。ImageNet是一个大型的可视化数据库,旨在推动计算机视觉领域的研究。这个数据库包含了数以百万计的手工标记的图像,涵盖了数千个不同的类别。 基于ImageNet数据库&#xf…

如何构建多种系统架构支持的 Docker 镜像

如何构建多种系统架构支持的 Docker 镜像 1.概述2.解决方案3.使用manifest案例 1.概述 我们知道使用镜像创建一个容器,该镜像必须与 Docker 宿主机系统架构一致,例如 Linux x86_64 架构的系统中只能使用 Linux x86_64 的镜像创建容器 例如我们在 Linux…

从3天到3小时,“文思助手”让行业专业写作“文思泉涌”

AI 长文写作能否结合用户所在行业规范与需求,定制化体现专业内容?“文思助手”提供了解决方案。基于大语言模型强大理解和生成能力,通过用户自建知识库、个性化语境调整,能够智能地创作出符合专业要求的个性化长文。 厦门苏哒智能…

移动Web——less

1、less-简介 less是一个CSS预处理器,Less文件后缀是.less。扩充了CSS语言,使CSS具备一定的逻辑性、计算能力注意:浏览器不识别Less代码,目前阶段,网页要引入对应的CSS文件VS code插件:Easy LESS&#xff…

Canal 结合 SpringBoot 源码梳理

1、canal是什么,可以用来作什么 canal是阿里开源的一个用于监听数据库binlog,从而实现数据同步的工具。 2、安装 我使用的是1.1.5版本,太高的版本需要的jdk版本和mysql的驱动版本会更高,可以根据自己的环境选择。 如果是自己玩的话…

开源浏览器Firefox:使用Docker本地部署并远程访问进行测试

🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、数据结构 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. 部署Firefox二. 本地访问Firefox三. Linux安装Cpolar四. 配置Firefox公网地址…

Javaweb之SpringBootWeb案例之 @ConfigurationProperties的详细解析

4.3 ConfigurationProperties 讲解完了yml配置文件之后,最后再来介绍一个注解ConfigurationProperties。在介绍注解之前,我们先来看一个场景,分析下代码当中可能存在的问题: 我们在application.properties或者application.yml中配…

我用全志V851s做了一个魔法棒,使用Keras训练手势识别模型控制一切电子设备

这是一个可以直接启动原神的魔法棒~ 原神,启动! 这是一个万全的解决方案!只需要花80元再动动手,就可以将哈利波特的魔杖与人工智能结合到一起!它就是用全志V851s做的赛博魔杖! 这个魔法手杖有啥亮点 手势…

Python爬虫requests库详解

使用 requests 上一节中,我们了解了 urllib 的基本用法,但是其中确实有不方便的地方,比如处理网页验证和 Cookies 时,需要写 Opener 和 Handler 来处理。为了更加方便地实现这些操作,就有了更为强大的库 requests&…

AIGC 为何能火爆全网,赋能智能时代?

Hi,大家好,我是半亩花海。2023年,人工智能新浪潮涌起,AIGC 火爆全网,不断赋能各大行业。从短视频平台上火爆的“AI 绘画”,到智能聊天软件 ChatGPT,都引起了大家的广泛关注。那么 AIGC 到底是什…