Array.from()
es6 Array.from() 方法将两类对象转为真正的数组
用法:用于将两类对象转为真正的数组:类似数组的对象和可遍历(iterable)的对象(包含ES6新增的数据结构Set和Map);
说明:1)只要是部署了Iterator接口的数据结构,Array.from都能将其转化为数组
2)如果参数是一个真正的数组,Array.from会返回一个一模一样的新数组。
3)扩展运算符背后调用的是遍历器接口(Symbol.iterator),如果一个对象没有部署这个接口,就无法转换。Array.from方法还支持类似数组的对象。所谓类似数组的对象,本质特征只有一点,即必须有length属性。因此,任何有length属性的对象,都可以通过 Array.from方法转为数组,而此时扩展运算符就无法转换。
注意:对于还没有部署该方法的浏览器,可以用Array.prototype.slice方法替代
const toArray = (() => {
Array.from ? Array.from : obj => [].slice.call(obj);
})
例:
let arrayLike = {
'0': 'a',
'1': 'b',
'2':'c',
length: 3
};
//es5的写法
var arr1 = [].slice.call(arrayLike);
//es6写法
var arr2 = Array.from(arrayLike);
例2:dom返回的NodeList集合和函数内部的arguments对象
//NodeList对象
let ps = document.querySelectorAll('p');
Array.from(ps).filter(p => {
return p.textContent.length > 100;
})
//arguments对象
function foo() {
var args = Array.from(arguments);
}
例3:
Array.from({ length: 3 });
// [ undefined, undefined, undefined ]
Array.from可以接受第二个参数 作用类似数组的map方法
例3:
Array.from(arrayLike, x => x * x);
Array.from(arrayLike).map(x => x * x);
Array.from([1, 2, 3], (x) => x * x);
转载于:https://www.cnblogs.com/insignificant-malt/p/8528882.html
Array.from()相关推荐
- 老男孩上海校区Python面试题
python面试题 第一章:python基础 数据类型: 1 字典: 1.1 现有字典 dict={'a':24,'g':52,'i':12,'k':33}请按字典中的 value 值进行排序? 1. ...
- php recordarray,Array 数组 - [ php中文手册 ] - 在线原生手册 - php中文网
用户评论: [#1] florenxe [2015-10-07 18:53:45] //a nice little way to print leap years using array for ($ ...
- NumPy — 创建全零、全1、空、arange 数组,array 对象类型,astype 转换数据类型,数组和标量以及数组之间的运算,NumPy 数组共享内存
NumPy 简介 一个用 python 实现的科学计算包.包括: 1.一个强大的 N 维数组对象 Array : 2.比较成熟的(广播)函数库: 3.用于整合 C/C++ 和 Fortran 代码的工 ...
- array.array python yhzf
关于array: Python 本身没有数组这个说法, 有的就是list和tuple, list就具有其他语言中的数组特性. 至于list和tuple的区别,在于list可以在运行时修改内容和大小,t ...
- [JS]请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。
请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组. 刚开始复习js题还不太习惯 CSDN上看了一个帖子,说是牛客上的标答, ...
- hnswlib RuntimeError: Cannot return the results in a contigious 2D array. Probably ef or M is to sma
1. 问题现象 index = hnswlib.Index(space = '100', dim = 512) index.init_index(max_elements = 100, ef_cons ...
- Array 数组去重 总结10方法(7)
1,常规双循环去重(缺点:循环次数较多) Array.prototype.unique1 = function(){if(this === null){throw new TypeError('&qu ...
- ECMAScript——引用数据类型之array
array 转载于:https://www.cnblogs.com/cataway/p/4967058.html
- leetcode:Search in Rotated Sorted Array
题目要求: Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 ...
- intval0.57100 php_php中0,'',null,false,true,FLASE,TREU,array()的相等恒等学习
//比较值 '' NULL 0 false true FALSE TRUE //相等判断 //'' == NULL == 0 == false (相等) //array() = 0 == NULL = ...
最新文章
- Python 中常见的配置文件写法
- 各种组件的js 获取值 / js动态赋值
- java postgresql json_java – 将PostgreSQL JSON列映射到Hibernate值类...
- 特征工程 - 机器学习
- 上汽集团:R汽车改名飞凡汽车
- java 有序map_Java有序的Hash集合:LinkedHashMap
- C#多态“说来也说”——逻辑层BLL中的多态使用
- SVM之-二分类延伸到多分类
- opencv学习——翻转摄像头
- 带云的计算机词语,带云字的词语和成语有哪些
- 记一次某公众号平台前端加密算法的解密
- 电影院里电影票和座位号的关系
- OpenGL总结6-圆柱纹理贴图
- QTextEdit 控件的妙用(以及与QPlainTextEdit的区别)
- Tomcat下log4j日志文件 配置过程
- 谈谈Android里的Context的使用!!!
- 组合逻辑电路一——数字逻辑实验
- 计算机窗口置顶,将想要的窗口一直置顶的具体操作步骤介绍
- slideUp()和slideDown()
- 【微服务系列】kite的具体实现
热门文章
- EOS从入门到精通(四)
- 在Linux上使用AFL对Stagefright进行模糊测试
- 你认识的python有你想的那么神吗_Python的10个神奇的技巧
- antd table设置表格一个单元格的字体颜色_微软Office三件套,各有一个效率神器,全都知道的人不超过1%...
- 怎样用python批量处理文件夹_套娃式文件夹如何通过Python批量处理
- grasshop 犀牛5.0下载_新安|原创剑尊下载新版本 2020最新安卓版剑尊下载地址整理...
- Luogu P1198 BZOJ 1012 最大数 (线段树)
- mysql数据库崩溃恢复_MySQL数据库表维护和崩溃恢复
- 回退进度_【蜕变】V7账号发展进度第47期:回归宝箱开个都是啥呀!瞬间无爱了...
- [Trie] Luogu P2580 于是他错误的点名开始了