美文网首页
ES6数组新增方法

ES6数组新增方法

作者: 海因斯坦 | 来源:发表于2018-10-17 20:48 被阅读0次

    \color{red}{原型方法}
    Array.prototype.find(fn)
    返回数组中,满足提供的测试函数的条件的第一个元素的值,否则返回undefined
    几个注意点
    1 返回的是满足条件的第一个元素,而不是所有的满足元素
    2 如果都不满足返回undefined。而不是-1
    3 find方法不改变原来的数组


    4 在第一次调用fn时,就确定了查找的范围,因此如果调用了一次fn后再次给数组添加元素,那么新添加的元素将不会被查找到。如果删除了一个未被遍历到的元素,被删除的元素仍然能够被查找到,只不过被删除元素的值已经为undefined。
    如下图所示:在第一次遍历时,删除了数组中的最后一个元素6。遍历时仍然能够遍历到这个元素,但是该位置的值变成了undefined。

    Array.prototype.findIndex(fn)
    findIndex()返回的是满足条件的第一个元素的索引,不满足返回-1.其他的使用同find相同.
    几个注意点
    1. 返回的是满足条件的第一个元素的索引
    2. 如果都不满足返回-1
    3. findIndex()方法不改变原来的数组


    4.findIndex()方法在第一次调用回调函数时就确定了索引的范围,范围为[0,len-1]。在回调函数中如果进行了新的元素的添加,那么这个新添加的元素的索引无法被查找到。

    5.findIndex()方法在第一次调用回调函数时就确定了索引的范围,范围为[0,len-1]。在回调函数中如果删除了元素,那么这个删除的元素也能够被查找到。
    findIndex()和IndexOf的区别
    findIndex()是查找数组中满足条件的第一个元素的索引。虽然返回的是数组中的元素,但是是通过函数来今次那个筛选的。测试函数可以通过很多功能来进行筛选,而不仅仅是判断其是否存在。
    indexOf()是查找数组中是否存在某个元素,如果存在即返回其索引。也即是说只是判断了是否存在,功能比较狭窄。

    Array.prototype.copyWithin(position,start,end)
    copy:表示复制,拷贝。within:表示在...以内。合起来的意思就是在原数组内进行浅拷贝。其中position表示开始替换的位置,start和end是表示要拷贝的元素的位置。


    注意
    copyWithin()方法改变原数组,但是不改变原数组的长度

    Array.prototype.fill(value,start,end)
    从数值的start位置到end(不包括end)的位置,用value进行填充。

    相关文章

      网友评论

          本文标题:ES6数组新增方法

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