ES6中Array.from()方法有什么用
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,小编给大家分享一下ES6中Array.from()方法有什么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Array.from()Array.from方法用于将两类对象转为真正的数
千家信息网最后更新 2025年02月23日ES6中Array.from()方法有什么用
小编给大家分享一下ES6中Array.from()方法有什么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
Array.from()
Array.from方法用于将两类对象转为真正的数组:类数组的对象( array-like object )和可遍历( iterable )的对象(包括 ES6 新增的数据结构 Set 和Map )。
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'] // NodeList 对象 let ps = document.querySelectorAll('p'); Array.from(ps).forEach(function (p) { console.log(p); }); // arguments 对象 function foo() { var args = Array.from(arguments); // ... } //字符串转换为字符数组str.split('') Array.from('hello') // ['h', 'e', 'l', 'l', 'o'] let namesSet = new Set(['a', 'b']) Array.from(namesSet) // ['a', 'b'] Array.from({ length: 3 }); // [ undefined, undefined, undefined ]
对于还没有部署该方法的浏览器,可以用Array.prototype.slice方法替代:
const toArray = (() => Array.from ? Array.from : obj => [].slice.call(obj))();
Array.from还可以接受第二个参数,作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。
Array.from(arrayLike, x => x * x); // 等同于 Array.from(arrayLike).map(x => x * x); Array.from([1, 2, 3], (x) => x * x) // [1, 4, 9] //Array.from回调函数var arr1 = Array.from([1,2,3], function(item){ return item*item;});var arr2 = Array.from([1,2,3]).map(function(item){ return item*item;});var arr3 = Array.from([1,2,3], (item) => item*item);console.log(arr1); //[ 1, 4, 9 ]console.log(arr2); //[ 1, 4, 9 ]console.log(arr3); //[ 1, 4, 9 ]
值得提醒的是,扩展运算符(...)也可以将某些数据结构转为数组。
// arguments 对象 function foo() { var args = [...arguments]; } // NodeList 对象 [...document.querySelectorAll('div')]
看完了这篇文章,相信你对"ES6中Array.from()方法有什么用"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
对象
方法
数组
写法
字符
数据
数据结构
篇文章
结构
处理
作用
元素
函数
参数
字符串
完了
更多
浏览器
知识
行业
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
苹果手机怎么打开数据库文件
阿里云服务器是干嘛的
h1z1服务器选择不了
数据库与物流管理
苏州软件开发园
联想服务器怎么查看raid状态
数据库清理操作说明
投标文件软件开发技术要求
crsp 数据库
微信小程序开发搭建服务器
我的世界 服务器 床
龙契网络技术
珠海pc软件开发哪家好
arma3红锤模组服务器
服务器端抓包
软件开发费用分期
朝阳齐全的软件开发公司哪家好
软件开发项目经理经验总结
实现网页聊天的数据库设计
把.sql导入数据库
代理服务器地址2014
苏州软件开发园
计算机网络技术三级入门
万方数据库文献检索示例
加强网络安全的创新举措
软件开发设计的实现
nodejs 服务器搭建
数据库和表的使用方法
数据库创建学生表2014
数据库中添加主键约束