ES6 Array.from方法用法总结
来源:互联网 发布:java获取进程端口号 编辑:程序博客网 时间:2024/06/08 05:48
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);
- // …
- }
- 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 ]
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);// ...}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.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(arrayLike, x => x * x);// 等同于Array.from(arrayLike).map(x => x * x);Array.from([1, 2, 3], (x) => x * x)// [1, 4, 9]
值得提醒的是,扩展运算符(…)也可以将某些数据结构转为数组。
- // arguments 对象
- function foo() {
- var args = […arguments];
- }
- // NodeList 对象
- […document.querySelectorAll(’div’)]
// arguments 对象function foo() {var args = [...arguments];}// NodeList 对象[...document.querySelectorAll('div')]
阅读全文
0 0
- ES6 Array.from方法用法总结
- ES6-数组的扩展-Array.from()
- ES6---数组array新增方法
- ES6“箭头”用法总结
- es6常用方法总结
- es6笔记·····Array.from()
- es6 Array数组对象新增方法 Array.of()
- Array.Copy 方法 总结
- JavaScript Array 方法总结
- Array常用方法总结
- js Array的用法总结
- ECMAScript6(ES6)标准之数组Array扩展方法
- array.push()方法的用法
- ES6数组去重的最佳实践:Set结合Array.from() | 拓展运算符结合 Set
- Array.from()
- Array.from()
- ES6之数组(array)
- ES6(五: Array扩展)
- 机器学习 基本概念/术语
- 安卓开发自带控件修改主颜色(以日期选择器DatePickerDialog为例)
- 神经网络2-反向传播
- HDU-5459-递推&斐波那契
- Ubuntu下如何录屏
- ES6 Array.from方法用法总结
- BZOJ 1419: Red is good 期望DP
- 基本数据类型 运算符 类型转换
- C指针
- linux 下载神器(aria2)
- SpringMVC的controller提供了PUT和DELETE的请求方式
- 为什么需要字节对对齐
- Android拖动,缩放,自定义内容,控件制作(可拖动缩放RelativeLayout定制)
- mycat实现mysql读写分离