Array 提供的方法

Array.from()方法

Array.from()方法用于从一个类似数组或可迭代对象中创建一个新的数组实例。

let arrayLike = {"0": "a","1": "b","2": "c",length: 3
};
// ES5的写法
var arr1 = [].slice.call(arrayLike); // ["a","b","c"]
// ES6的写法
let arr2 = Array.from(arrayLike); // ["a","b","c"]

值得注意的是, 扩展运算符(…)也可以将某些数据结构转为数组。

// arguments对象
function foo(){console.log([...arguments]);
}
foo(1,2,3,4,5);
// 将数组的Symbol.iterator赋给obj (使类数组可迭代)
// obj[Symbol.iterator] = [][Symbol.iterator];
// console.log([...obj]); // [ 'a', 'b', 'c' ]
console.log([...Array.from(obj)]); // [ 'a', 'b', 'c' ]

Array.of() 方法

Array.of() 方法用于创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。

Array.of(3,11,8) // [3,11,8]
Array.of(3) // [3]
Array.of(3).length // 1

这个方法的主要目的,是弥补数组构造函数 Array() 的不足。因为参数个数的不同,会导致 Array() 的行为有差异。

Array(3,11,8) // [3,11,8]
Array(3) // [,,,]
Array(3).length // 3

值得注意的是, Array.of() 方法如果没有参数,则会返回一个空数组

console.log(Array.of()); // []
console.log(new Array()); // []
console.log(Array()); // []
console.log([]); // []

Array提供的方法相关推荐

  1. php 判断类型array,判断一个变量是数组Array类型的方法_javascript技巧

    在很多时候,我们都需要对一个变量进行数组类型的判断.JavaScript中如何判断一个变量是数组Array类型呢?我最近研究了一下,并分享给大家,希望能对大家有所帮助. JavaScript中检测对象 ...

  2. ES6/07/Array的扩展方法,...扩展运算符,Array.from(),(arr.find(),arr.findIndex()和arr.includes())模板字符串,Set数据结构

    ES6扩展的内置对象 1,Array的扩展方法 -扩展运算符(展开语法) 1,扩展运算可以的将数组或者对象转为用逗号分隔的参数序列: let ary =[1,2,3]; //-ary;//" ...

  3. js基础之探秘Array的原型方法

    如果现在需要用js生成[0, 2, 4, 6, 8, -, 100]这样一个数组,你第一时间想到的会是下面的写法吗? var arr = new Array(51); //使用临时变量保存数组长度,可 ...

  4. ndarray 与 array 的区别 关系,所以ndarray是一个类对象,而array是一个方法

    ndarray 与 array 的区别 关系 置顶 wanglll* 2020-02-06 20:00:37  8455  已收藏 17 分类专栏: 数据分析 文章标签: numpy 版权 ndarr ...

  5. Shell中创建序列和数组(list、array)的方法

    Shell中创建序列和数组(list.array)的方法 投稿:junjie 字体:[增加 减小] 类型:转载 时间:2015-07-09 我要评论 这篇文章主要介绍了Shell中创建序列和数组(li ...

  6. js函数重写php,深入讲解js覆盖原有方法 提供重写方法

    如果你做了一个编辑器,里面有提供一些光标离开事件等,最好使用此方法来操作,因为当他人使用你的编辑器时,也许要用到编辑器提供的事件方法处理些事情,其中部分事件需要根据特殊要求进行重写,因此,出现这种情况 ...

  7. 使用.netFx4.0提供的方法解决32位程序访问64位系统的64位注册表

    原文:使用.netFx4.0提供的方法解决32位程序访问64位系统的64位注册表 我们知道目标平台是32位的程序运行在64位的系统上,去访问部分注册表的时候系统自动重定向到win32node节点对应的 ...

  8. 编写程序,使用一维数组,模拟栈数据结构。 要求: 1、这个栈可以存储java中的任何引用类型的数据。 2、在栈中提供push方法模拟压栈。(栈满了,要有

    代码 /*第一题:编写程序,使用一维数组,模拟栈数据结构.要求:1.这个栈可以存储java中的任何引用类型的数据.2.在栈中提供push方法模拟压栈.(栈满了,要有提示信息.)3.在栈中提供pop方法 ...

  9. 类Array对象中是否该直接使用Array的原型方法?

    题目来自于掘金一位分享者的分享 , 我经实验认证写篇文章记之 var obj={'2' : 3,'3' : 4,'length' : 2,'splice' : Array.prototype.spli ...

最新文章

  1. 不能混淆_生物易混淆知识点小汇总,是你不能混淆的知识哦丨高中
  2. MASM6.1使用方法(适合初学者)
  3. Spring学习的切入点
  4. php小程序登录code无效,微信小程序出现“invalid code”怎么办
  5. DL之Attention-ED:基于TF NMT利用带有Attention的 ED模型训练、测试(中英文平行语料库)实现将英文翻译为中文的LSTM翻译模型过程全记录
  6. Mybatis注解实现一对多关联映射(@Many)
  7. C++ semi implicit euler半隐式向后欧拉法解算常微分方程(附完整源码)
  8. 对于《软件工程》课程的认识
  9. MySQL 8.0索引合并
  10. 进程调试--进程启动VS自动附加
  11. 有个AI陪你一起写代码,是种怎样的体验?| 附ICLR论文
  12. 《python接口自动化测试》笔记
  13. 转 iOS socket
  14. ubuntu下sudo:add-apt-repository:command not found 问题
  15. 深入浅出详解因子分析,附案例教学(全)
  16. vs2012 链接内置数据库 sql express 出现error 26 解决方法
  17. 如何制作linux安装光盘,新手看招 如何制作Linux系统的安装光盘?
  18. MySQL添加新用户、创建数据库、为新用户分配权限、收回权限
  19. 网络安全学习第4篇-使用特征码和MD5对勒索病毒进行专杀,并对加密文件进行解密
  20. 1210: OY问题 [搜索]

热门文章

  1. 单目摄像头光学图像测距_自动驾驶汽车传感器技术解析——车载摄像头
  2. django mysql filter_Django filter中用contains 在mysql中的问题
  3. mysql 正则regrx_正则表达式
  4. RECT JS 由浅入深
  5. linux桌面2k分辨率,解决ubuntu下外接2k显示器却没法调2k分辨率问题
  6. 2021年上半年软考网络工程师考试下午真题及答案解析
  7. 信安教程第二版-第13章网络安全漏洞防护技术原理与应用
  8. 音游android平板,音游专题 - 有时候听歌远远不够,试试这些音游吧 - Android 应用 - 【最美应用】...
  9. 集成电路pad指的是什么_芯片、半导体、集成电路,你分清楚了吗?
  10. java volatile实例_Java的Volatile实例用法及讲解