ES6 — 数组Array
ES6对数组引入了几个新函数:
(1) Array.of()
作用是将一组数值,转换为数组。
Array.of(1,2,3,4); //[1,2,3,4]
(2) Array.from()
作用是把类数组的对象或者可遍历的对象变为真正数组,并返回此数组。
let ele=document.getElementsByTagName('a');
ele instanceof Array; //false
ele instanceof Object; //true
我们使用Array.from()可以把对象转为数组:
Array.from(ele) instanceof Array //true
字符串处理:
let str='hello';
Array.from(str); //['h','e','l','l','o']
(3) find() 函数
作用是在数组中找到符合条件的第一个元素。其参数为一个匿名函数。
let arr=[1,2,3,4,5,3];
arr.find(function( value ){
return value>2; //3
// return value>6; //当没有找到符合条件的元素时返回 undefined;
}) ;
(4) findIndex() 函数
作用是返回符合条件的第一个元素在数组中的下标。
let arr=[7,8,9,10];
arr.findIndex(function( value ){
return value>8; //2 ,没有找到时返回-1
})
可以看到 findIndex()和find()的函数的用法相同,作用也基本相同,只是一个返回元素值,一个返回元素的下标。
(5) fill() 函数
作用用指定的值填充数组。
let arr=[1,2,3];
arr.fill(4); //arr=[4,4,4] 默认为全部填充;
arr.fill(4,1,3); //arr=[1,4,4] 第一个参数为要填充的元素,后两个参数表示填充范围的下标为 >=1 && <3 ,即下标为1,2的位置。当最后一个参数超出数组时,则填充到结尾。
(6) entries() 函数
作用对函数的键值进行遍历,返回一个遍历器(即遍历结果),可以用for...of对其遍历。
for(let [i,v] of ['a','b'].entries()){
console.log(i,v);
}
得到数组的键值为:0,1 ,相应的值为: 'a'和'b'。
(7) keys() 函数
作用对数组的索引键进行遍历,返回一个遍历器。
for (let index of ['a','b'].keys()){
console.log(index)
}

(8) values() 函数
作用只对数组的元素进行遍历,返回一个遍历器。
for (let value of ['a','b'].values()){
console.log(value);
}
//a
//b
(9) 数组推导:用简洁的写法,直接通过现有的数组生成新的数组。
传统的写法:
var arr1=[1,2,3];
var arr2=[];
for (let i=0;i<arr1.length;i++){
arr2.push(arr1[i]*2);
}
或者可以使用forEach:
arr1.forEach(function(i){
arr2.push(i*2);
});
新写法:(但是测试发现,chrome还不支持这种写法,Firefox支持。)
var arr1=[1,2,3];
var arr2=[for(i of arr1)i*2]; //2,4,6
还可以加上if判断:
var arr3=[for(i of arr2) if(i>3) i]; //4,6
___________________________
参考公众号:web前端教程
ES6 — 数组Array的更多相关文章
- es6 --数组--Array.from() 、Array.isArray()、Array.of()、find()、findIndex()、fill()、entries() 、keys() ,values()
将两类对象转为真正的数组 Array.from()方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Se ...
- ES6数组的扩展--Array.from()和Array.of()
一. Array.from() : 将伪数组对象或可遍历对象转换为真数组 1.何为伪数组 如果一个对象的所有键名都是正整数或零,并且有length属性,那么这个对象就很像数组,语法上称为"类 ...
- ES6之Array数组
定义数组 ,]; const arr = new Array(1,2,3,4); const array1 = new Array(); array1[]="test"; 给数组不 ...
- ES6数组扩展
前面的话 数组是一种基础的JS对象,随着时间推进,JS中的其他部分一直在演进,而直到ES5标准才为数组对象引入一些新方法来简化使用.ES6标准继续改进数组,添加了很多新功能.本文将详细介绍ES6数组扩 ...
- ES6数组及数组方法
ES6数组可以支持下面的几种写法: (1)var [a,b,c] = [1,2,3]; (2)var [a,[[b],c]] = [1,[[2],3]]; (3)let [x,,y] = [1,2,3 ...
- 数组的复制及ES6数组的扩展
一.数组的复制 // alert([1,2,3]==[1,2,3]); let cc = [0,1,2]; let dd = cc; alert(dd==cc);//此时改变dd会影响cc ES5 只 ...
- ES6,Array.fill()函数的用法
ES6为Array增加了fill()函数,使用制定的元素填充数组,其实就是用默认内容初始化数组. 该函数有三个参数. arr.fill(value, start, end) value:填充值. st ...
- es6数组的扩展
数组扩展运算符 ...(三个点) const demoArr=[0,1,2,3,4] console.log(...demoArr) // 0 1 2 3 4 // 他把一个数组用逗号分隔了出来 // ...
- es6数组
将两类对象转为真正的数组 Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和 ...
随机推荐
- JavaScript数字精度上代码。
/**不能超过 9007199254740992 * floatObj 包含加减乘除四个方法,能确保浮点数运算不丢失精度 * * 我们知道计算机编程语言里浮点数计算会存在精度丢失问题(或称舍入误差), ...
- K2任命新的亚太区高级副总裁
K2, 一个屡获殊荣的企业应用软件公司宣布,任命陈光明(Tan Kwang Meng, KM)为亚太区高级副总裁.这次任命是对公司持续发展的肯定,同时也是对将亚太区作为全球扩张战略的关键市场的承诺. ...
- 企业需要k2来解放孤岛危机
当我谈孤岛危机时,我谈些什么?你以为我要说的是一款风靡的游戏?那恐怕要让你失望了,今天要谈的是“企业管理体系孤岛”,但更多人甚至都没意识到这是危机. 下面的场景,也许你会觉得似曾相识. 场景一 某制鞋 ...
- RPI学习--环境搭建_刷卡+wiringPi库安装
1,镜像地址 http://www.raspberrypi.org/downloads/ 2,Windows下刷写工具 Win32 Disk Imager 3,安装wiringPi库 (这里在连网状态 ...
- iphone获取当前流量信息
通过读取系统网络接口信息,获取当前iphone设备的流量相关信息,统计的是上次开机至今的流量信息. 代码 悦德财富:https://yuedecaifu.com 1 2 3 4 5 6 7 8 9 1 ...
- C# ClickOnce deployment for Windows Services ClickOnce 部署windows service
A simple solution that I use is to merely stop the service and x-copy the files from my bin folder i ...
- PAT 05-树8 Huffman Codes
以现在的生产力,是做不到一天一篇博客了.这题给我难得不行了,花了两天时间在PAT上还有测试点1没过,先写上吧.记录几个做题中的难点:1.本来比较WPL那块我是想用一个函数实现的,无奈我对传字符串数组无 ...
- Unix/Linux获取进程的详细信息
Linux的进程的信息都记录在/proc/<pid>/下面,其实常用的ps.top命令也是从这里读取信息的.常用的信息有: cmd(命令).cmdline(完整的命令行参数).envrio ...
- 聚簇(Cluster)和聚簇表(Cluster Table)
聚簇(Cluster)和聚簇表(Cluster Table) 时间:2010-03-13 23:12来源:OralanDBA.CN 作者:AlanSawyer 点击:157次 1.创建聚簇 icmad ...
- 统计文件夹下java代码行数的小程序--主要是学习任务队列的思想
首先感谢czbk的老师,录制的视频,让我们有这么好的学习资料.……—— 统计文件夹java文件的行数,首先想到的肯定是用递归的方法,因为文件夹下面可能包含文件夹,用递归的方法,代码容易写.(这和写简单 ...