1. filter( )

  var arr = [5,4,3,2,1];

  newarr = arr.filter((item)=>{ return item<3 }) ;  // => [2,1]

2. every( ) 和 some( )

  var arr = [5,4,3,2,1];

  newarr = arr.every((item)=>{ return item<10 }) ;  // => true

3.reduce( ) 和 reduceRight( )

  功能:是指定的函数将数组元素进行组合,生成单个值。

ES6:-----------------------------------

1. Array.from( )

  功能:将两类对象转成真正的数组。

  let arr = { '0' : 'a', '1' : 'b', '2' : 'c', length : 3}

  let arr2 = Array.from( arr );  // => ['a', 'b', 'c']

2.Array.of( )

  功能:将一组值转换成数组。

  Array.of( 2, 11, 3 )  // => [2, 11, 3]

  Array.of( 3 )   // => [ 3 ]

3. copyWithin( )

  功能:复制数组元素替换,改变原数组

  [1, 2, 3, 4, 5].copyWithin( 0, 3 )    // => [ 4, 5, 3, 4, 5]

4.find( ) 和 findindex( )

  功能:找到第一个符合条件的元素或位置

  [1, 5, 10, 15].find(( value, index, arr )=>{ return value > 9};  // =>10

  [1, 5, 10, 15].findindex(( value, index, arr )=>{ return value > 9};  // =>3

5. fill( )

  功能:填充数组,参数:第一个为要填充的值,第二个和第三为填充的开始位置和结束位置(选)

  ['a', 'b', 'c'].fill( 7, 1, 2 );  // => ['a', 7, 'c']

6. entries( )   keys( )   values( )

  功能:利用for...of循环进行遍历,分别对键和值遍历

  1.) for( let index of [ 'a', 'b' ].keys( ) ) { console.log( index ) }; // =>0  1

  2.) for( let elem of [ 'a', 'b' ].values( ) ) { console.log( elem ) }; // =>'a' 'b'

  3.) for( let [ index, elem ] of [ 'a', 'b' ].entries( ) ) { console.log( index ) }; // =>0  'a'  1  'b'

7. includes( )

  功能:表示某个数组是否包含给的的值,indexOf( ) 进行了运算符的强对比,会出现NaN

  [1, 2, 3].includes( 2 );  //=> true

  [1,2,3].includes(4);  //=>false

  [1,2,NaN].includes(NaN);  //=>true

  

JS-Array-新增方法的更多相关文章

  1. JS中map、forEach、filter、reduce等Array新增方法的区别

    数组在各个编程语言中的重要性不言而喻,但是在之前的JavaScript中数组虽然功能已经很强大,但操作方法并不完善,在ECMAScript5中做了适当的补充. Array.isArray(elemen ...

  2. ECMAScript5 Array新增方法

    数组在各个编程语言中的重要性不言而喻,但是在之前的JavaScript中数组(JavaScript 数组详解)虽然功能已经很强大,但操作方法并不完善,在ECMAScript5中做了适当的补充. Arr ...

  3. JS Array.filter()方法

    1.filter()接收的函数可以有多个参数.通常我们只使用第一个参数,第二参数和第三个参数表示元素的位置和数组本身: //去重 var arr = ["1", "2&q ...

  4. js Array 数组方法扩展

    //去重复   Array.prototype.unique = function()  {     this.sort();     var re=[this[0]];     for(var i ...

  5. 兼容低版本JS的Array.map方法

    前几天去别的公司面试遇到个这样的问题,兼容IE7下的Array.map方法,一脸蒙蔽.后面回来查了下资料发现.Array.map方法是ECMA-262 标准中新添加的方法,在低版本的JS中是木有的. ...

  6. js Array 方法总结

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. js array filter pop push shift unshift方法

    JavaScript Array filter() 方法  JavaScript Array 对象 实例 返回数组 ages 中所有元素都大于 18 的元素: var ages = [32, 33,  ...

  8. JS数组中Array.of()方法的使用

    Array.of()方法的使用: Array.of()方法用于将一组数值转换为数组,举例: const a = Array.of(2,4,6,8); console.log(a); // [2,4,6 ...

  9. 前端Js跨域方法汇总—剪不断,理还乱,是跨域

    1.通过jsonp跨域2.通过修改document.domain来跨子域(iframe)3.隐藏的iframe+window.name跨域4.iframe+跨文档消息传递(XDM)5.跨域资源共享 C ...

  10. js Array数组的使用

    js Array数组的使用   Array是javascript中的一个事先定义好的对象(也可以称作一个类),可以直接使用 创建Array对象 var array=new Array(): 创建指定元 ...

随机推荐

  1. OpenCV-Python 交互式前景提取使用GrabCut算法 | 三十五

    目标 在本章中, 我们将看到GrabCut算法来提取图像中的前景 我们将为此创建一个交互式应用程序. 理论 GrabCut算法由英国微软研究院的Carsten Rother,Vladimir Kolm ...

  2. TensorFlow v2.0的基本张量操作

    使用TensorFlow v2.0的基本张量操作 from __future__ import print_function import tensorflow as tf # 定义张量常量 a = ...

  3. Vue history路由模式 apache配置上线

    1. 首先在vue项下的router.js 文件配置 mode为history模式,并且设置好对应的base选项 说明:base配置为你当前项目实际上线时所在的目录文件夹, 我这就是放在站点的根目录下 ...

  4. 2.Grpc消息定义

    一个简单示例 syntax ="proto3";//设置默认版本,不写默认为proto2 //1,2,3 是字段的标记 Tag 不表示字段的值 message FirstMessa ...

  5. 二分搜索树(Binary Search Tree)

    目录 什么是二叉树? 什么是二分搜索树? 二分搜索树的基本操作 二分搜索树添加新元素 二分搜索树的遍历(包含非递归实现) 删除二分搜索树中的元素 什么是二叉树?   在实现二分搜索树之前,我们先思考一 ...

  6. Consul+upsync+Nginx 动态负载均衡

    1,动态负载均衡 传统的负载均衡,如果修改了nginx.conf 的配置,必须需要重启nginx 服务,效率不高.动态负载均衡,就是可配置化,动态化的去配置负载均衡. 2,实现方案 1. Consul ...

  7. DEV Chart控件鼠标选中某条曲线

    this.Chart.ObjectSelected += new DevExpress.XtraCharts.HotTrackEventHandler(this.Chart_ObjectSelecte ...

  8. javascript原生 实现数字字母混合验证码

    实现4位数 数字字母混合验证码(数字+大写字母+小写字母) ASCII 字符集中得到3个范围: 1. 48-57 表示数字0-9 2. 65-90 表示大写字母 3. 97-122 表示小写字母 范围 ...

  9. vscode 保存自动 格式化eslint 代码

    在网上找了很多种方法,大多都没有成功  一下是一种成功的 配置方法: 1) First, you need to install the ESLint extension in the VS code ...

  10. Java基础知识3-类和对象(1)

    面向过程和面向对象的区别 面向过程(结构化程序设计) 实际上是一个面向操作过程,首先设计一系列过程(算法)来求解问题(操作数据),然后再考虑存储数据的方式(组织数据).即程序=算法\+数据结构.对应典 ...