ES6数组的扩展

1.Array.from()

用于将两类对象转化为真正的数组:a.Set数据结构和伪数组(比如:NodeList);b.Map数据结构和类似数组的可遍历对象。

...扩展运算符也具有相同的 功能,除下面提到的转化之外

Array.from({ length:3 })    // [ undefined ,undefined ,undefined ]  扩展运算符不能对其进行转化

ES5里面可以用Array.prototype.slice.call()方法代替 或者  [].slice.cal()

Array.form([1,2,3,4] , (x) => x*2)  //可以接受两个参数,第二个参数为一个函数作用相当于map() 方法。如果map()方法中用到了this关键字,还可以向Array。form()传入第三位参数用来绑定this关键字。

Array.from()还可以将字符串转换成数组。

2.Array.of()

它用于将一组值转换成熟组。

Array.of()   // [ ]

Array.of(3)   //  [ , , , ]

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

3.数组实例的copyWithin()

copyWithin(target, start ,end )    //[1,2,3,4,5].copyWithin(0,3)  // [4,5,3,4,5]

4.数组实例的find()和findIndex() 方法

他俩的参数是一个回调函数,对数组成员依次执行回调函数,直到找出第一个符合条件的数组成员,返回该成员,如若没有find()方法返回undefined,findIndex()方法返回-1;

注意:这两个方法都可以用来寻找NaN ,弥补了indexOf()方法的不足

5.数组实例的fill()方法

[1,2,2].fill(7)    // [7,7,7 ]

[1,2,3,4].fill(7,1,2)   // [ 1,7,3,4 ]

6.数组实例的includes()方法(属于ES7)

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

该方法等价于indexOf(),只是indexOf()无法查找NaN。

7.数组的空位

ES6明确将空位转换成undifined;

ES5的every()/some()/filter()/forEach()都会忽略空位

map()会跳过空位,但保留空位

jion()和toString()将空位视为undefined

8.数组推导

var a1 = [ 1,2,3,4 ]

var a2 = [ for ( a of a1)  a*2 ]               //a2 = [ 2,4,6,8 ]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 数组的扩展 1.Array.from() 用于将两类对象转换为真正的数组:类似数组的对象和可遍历的对象(包括es6...
    ningluo阅读 442评论 0 1
  • 1.Array.from() 只要是部署了Iterator接口的数据结构,Array.from都能将其转化为数组 ...
    coolheadedY阅读 371评论 0 1
  • es6中数组较es5增加了很多特性。先简单总结一下,方便自己学习记忆。新增特性: 扩展运算符(...),将一个数组...
    tiancai啊呆阅读 311评论 0 0
  • Javascript有很多数组的方法,有的人有W3C的API,还可以去MDN上去找,但是我觉得API上说的不全,M...
    顽皮的雪狐七七阅读 4,546评论 0 6
  • 1.Array.from() :用于将类似数组的对象和可遍历的对象转化为真正的数组。 eg:arguments对象...
    井皮皮阅读 112评论 0 1

友情链接更多精彩内容