数组的扩展

Array.of()

将一组值转换成数组

Array.of(1,2,3,4,5);
//[1,2,3,4,5]

Array.from()

可将类似数组的对象或者可便利的对象转换成数组,比如nodeList

var aA = document.getElementsByTagName("a");
Array.from(aA);

也可以将字符串转换成数组

let str = "hello",
Array.from(str);

可以结合Set数据结构实现数组的去重

let arr = [1,1,2,2,3];
let set = new Set(arr);
Array.from(set);//Array[1,2,3]

find函数和findIndex函数

find()函数用于找出数组中符合条件的第一个元素

let arr = [1,2,3,4,5,6];
arr.find(function(value){
return value > 2;
});
//value = 3

findIndex()函数返回符合条件的第一个数的位置

let arr = [7,8,9,10];
arr.findIndex(function(value){
return value > 8;
})
//2

fill函数

fill()函数用指定的值填充数组,第二个参数表示开始填充的位置,第三个参数结束的位置

let arr = [1,2,3];
arr.fill(4,1,3);
//[1,4,4]

entries()函数

entries()函数对数组的键值进行遍历,返回一个遍历器,可以用for..of进行遍历

keys()函数

对数组的索引键进行遍历,返回一个遍历器。

values()函数

对数组的元素进行遍历,返回一个遍历器。

数组推导

数组推导就是用简洁的写法,直接通过现有的数组生成新的数组。

var arr1 = [1,2,3,4,5];
var arr2 = [];
for(var i = 0; i < arr1.length; i++){
arr2.push(arr1[i]*2);
}
console.log(arr2);//[2,4,6,8,10]

在ES6中,提供了新的写法:

var arr1 = [1,2,3,4,5];
var arr2 = [for(i of arr1) i * 2];
console.log(arr2);//[2,4,6,8,10] var arr3 = [for(i of arr1) if(i > 3) i];
console.log(arr3);//[4,5]

ECMAScript6之Array类型的扩展的更多相关文章

  1. ECMAScript6之数值类型的扩展

    数值类型的扩展 Number.isNaN ES6将isNaN方法从window身上移植到了Number对象上,使用时和ES5中的isNaN方法一样,但是这是Number对象的方法 Number.isN ...

  2. ECMAScript6之String类型的扩展

    String类型的扩展 模板字符串 模板字符串是字符串的增强版,既可以当做普通的字符串使用,也可以在字符串中嵌入变量,它用反引号`来表示. //普通字符串 `In javascript '\n' is ...

  3. 对easyui-validatebox的验证类型的扩展--补充

    一.说明 这篇文章是<对easyui-validatebox的验证类型的扩展>的补充.在工程的持续开发中,我们又对此进行了更多的补充. 二.补充代码 增加了更多的验证类型. /* * 比较 ...

  4. JS高程5.引用类型(2)Array类型

    Array类型: ECMAScript数组的每一项可以保存任何类型的数据,数组的大小是可以动态调整的. 创建数组的基本方式: (1)使用Array构造函数 var color=new Array(); ...

  5. 5.2 Array类型介绍

    Array类型是数组类型,Array(数组)类型也是引用类型中的一种. js 数组中的每一项可以保存任何类型的数据. js数组的大小/长度是可以动态调整的.如果你往数组中添加数据,数组长度会自动增加. ...

  6. JavaScript中Array类型方法总结

    Array类型是ECMAScript中最常用的类型之一,ECMAScript中的数组与其他多数语言中的数组有着相当大的区别.ECMAScript数组的每一项可以保存任何类型的数据.这里总结了数组类型的 ...

  7. js中Array的一些扩展

    IE下很多Array的方法都不被支持.每次都要写.所以记下来,以免忘记: 以下是对Array的一些扩展,在FF ,google 下是不需要加的. /** * 方法Array.filter(functi ...

  8. Object类型与Array类型

    总结--JS中的引用类型: Object类型,Array类型,Boolean类型,Number类型,String类型,Date类型, Function类型,RegExp类型,单体内置对象(Global ...

  9. oracle Array类型作为参数传入函数(存储过程) 大字符串参数解决方案

    1. 创建自定义的类型.由于Oracle没有提供现成的array类型,这里用table类型来模拟. CREATE OR REPLACE TYPE varchar_array is Table OF v ...

随机推荐

  1. idea执行go

    因为经常在不同的地方调代码,每次都调整环境很麻烦,于是在犯懒的时候发现了更直接简便的办法,关于idea集成go环境的,不需要按部就班的部署. 首先下代码,比如https://github.com/sa ...

  2. .NET软件开发资源

    .NET软件开发资源 最近建了一个.NET软件开发资源的360网盘共享群,把收集的一些.NET软件开发资源分享给大家,也欢迎大家把好的东东分享一下. 资源主要有:开发工具.控件资源.书籍教程.网页设计 ...

  3. Webapi备忘-20140109

    r01的翻译系列:http://www.cnblogs.com/r01cn/category/428069.html 接收FROM数据 Webapi接收表单数据,如果有多个数据比如x=1&y= ...

  4. Redis .NET开源组件Beetle.Redis

    Redis .NET开源组件Beetle.Redis Beetle.Redis是一款开源的Redis Client for .net组件,它提供非常简便的操作方式可以让开发人员轻松地访问Redis,同 ...

  5. MVC应用程序请求密码的功能(二)

    MVC应用程序请求密码的功能(二) 在完成<MVC应用程序请求密码的功能(一)>http://www.cnblogs.com/insus/p/3471534.html之后,如果你照着做,所 ...

  6. Salt状态管理

    Salt状态管理   前言 上一篇文章概括性的介绍了Salt的用途和它的基本组成和实现原理,也深入的的介绍了Salt的命令编排和批量执行,但是对于状态管理只是简单的介绍了一下,因为状态管理是一个比较重 ...

  7. .net中的emit

      .net中的emit .net中的emit命名空间是system.reflection.emit.可见,emit是作为反射的一个比较高级的功能. 反射允许我们在运行时获取对象的相关信息,并执行对象 ...

  8. Oracle 10g的空间管理

    一.表空间(包含表.字段.索引) 1.定义:表空间是一个逻辑概念,实质是组织数据文件的一种途径. 2.创建表空间 --创建表空间 create tablespace myspace datafile ...

  9. 一个Shell小脚本——旋转的斜杠

    话不多说,请从代码中寻找乐趣吧! #!/bin/bash #----中断计数器----# incr= #----旋转的斜杠----# spin="/-\|" echo -en &q ...

  10. [转]Introduction to Core Bluetooth: Building a Heart Rate Monitor

    ref:http://www.raywenderlich.com/52080/introduction-core-bluetooth-building-heart-rate-monitor The C ...