美文网首页
es6数组拓展

es6数组拓展

作者: 安石0 | 来源:发表于2019-05-08 15:00 被阅读0次

Array.of方法

es6之前数组有个怪异的行为:

arr = new Array(2) // (2) [empty × 2] 该参数为number成为了长度
arr.length // 2
arr = new Array('2') // ["2"] 非number,参数             成了项  
arr.length // 1 
// 传入超过1个参数时,为数组的项
arr = new Array('2',2)

array.of可以解决这个问题:

brr = Array.of(2) // [2]
brr.length // 1
brr = Array.of('2') // ["2"]
brr = Array.of('2',2,3) // (3) ["2", 2, 3]

Array.from

定义:接受一个可迭代的对象作为第一个参数,最终返回一个数组。

a = new Set([1,2,3])
Array.isArray(a) // false
b = Array.from(a)
Array.isArray(b) // true

其实array.from还可以提供第二个参数mapFn:

c = new Set([{a:1,b:2}, {a:3, b:4}])
// 第二参数相当于执行map函数
Array.from(c, v => v.a) // (2) [1, 3]

find和findIndex

arr = [11,22,33,44]
(4) [11, 22, 33, 44]
// 返回找到的那一项值
arr.find(v => v>20) // 22
// 找到那一项的index
arr.findIndex(v => v>20) // 1
// 只要找到满足的就会停止再找下去

fill

定义:可以用指定的值填充一至多个值

arr = [11,22,33,44]
arr.fill(100) // (4) [100, 100, 100, 100]  全部替换了
arr.fill(1000, 2) // (4) [100, 100, 1000, 1000] 提供了startIndex, statr包含在内
arr.fill('hello', 1, 2) // (4) [100, "hello", 1000, 1000]  提供了start+end,不包含结束,包含开头
arr.fill('hello', 1) // (4) [100, "hello", "hello", "hello"]

copyWithin

类似于splice方法

arr = [11,22,33,44,55,66,77,88,99]
// 8-9项的内容复制到从0开始的项中去
arr.copyWithin(0, 8,9) // (9) [99, 22, 33, 44, 55, 66, 77, 88, 99]
// 6-9项的内容复制到从0开始的项中去
arr.copyWithin(0, 6,9) // (9) [77, 88, 99, 44, 55, 66, 77, 88, 99]

相关文章

  • 【JavaScript高程总结】ES6 数组拓展

    ES6 数组拓展 ES6为Array新增的扩展 ...**(拓展运算符)---三个点将一个数组转为用逗号分隔的参数...

  • js 取数组中最大值

    es6拓展运算符 es5 apply(与方法1原理相同) for循环 数组sort() 数组reduce

  • es6数组拓展

    Array.from()该方法用于将类数组或者可遍历对象转化成数组 分析:对象里必须是连续的key值,并且需要le...

  • es6数组拓展

    Array.of方法 es6之前数组有个怪异的行为: array.of可以解决这个问题: Array.from 定...

  • 一些js小知识

    一、数组去重 ES6写法:1、set 、Array.from 2、...(拓展运算符) + set ES5写法: ...

  • es6之数组拓展

    本文目录: 1.扩展运算符 2.Array.from 3.Array.of 4.copyWithin 5.find...

  • ES6 数组的拓展

    一、ES6新增创建数组[https://so.csdn.net/so/search?q=%E6%95%B0%E7%...

  • ES6学习笔记

    es6学习 一、in用法 : 二、数组处理方法: 三、数字操作 四、模板字符串 五、拓展运算符 六、 Object...

  • es6数组拓展运算符应用于Vue实战---添加

    拓展运算符 剩余/拓展运算符也是ES6中一个非常重要的语法,使用3个点(...),后面跟着一个数组,它可以‘...

  • js数组扁平化和数组去重处理(对比)

    数组扁平化(多维数组)(es6) 数组去重 (es6) 数组去重(es5)

网友评论

      本文标题:es6数组拓展

      本文链接:https://www.haomeiwen.com/subject/toejoqtx.html