JavaScript30 Day 7

作者: lijianliang | 来源:发表于2017-07-31 20:08 被阅读0次

    这是我在github 上发现的一个原生js挑战项目,由于是js小白,希望通过这次的项目加深对js的理解

    第七天跟第四天类似,都是些关于数组的操作

    涉及的知识点

    • some()
    • every()
    • find()
    • findIndex()
    • splice()
    • slice()

    some()和every()

    some()是数组中是否有元素满足所给出的条件,若有,则返回true

        const isAdult = people.some(person => ((new Date()).getFullYear()) - person.year >= 19);
    
        console.log({isAdult});
    

    every()是数组中是否所有元素满足所给出的条件,若全部满足,则返回true

        const allAdults = people.every(person => ((new Date()).getFullYear()) - person.year >= 19);
        console.log({allAdults});
    

    find()和findIndex()

    find()有点像SQL里面的select语句,查找到满足条件的值并返回,findIndex()是返回满足条件元素的索引

      const comment = comments.find(comment => comment.id === 823423);
     const index = comments.findIndex(comment => comment.id === 823423);
    

    splice()和slice()

    这两个函数是比较常用的函数,因此我们分析一下他们的参数和他们的不同之处
    splice 的参数 :splice (start, deleteCount, [item1[, item2[, . . . [,itemN]]]])

    数组从 start下标开始,删除deleteCount 个元素,并且可以在这个位置开始添加 n个元素

    当start ,deleteCount 均为0 的时候,也就是在数组的最前面插入新的元素。

    当 参数只有 start,deleteCount 就是从start 下标开始删除deleteCount 个数组的元素,

    当参数只有start参数时,就是删除 从start下标起至最后 的元素

    当参数 为负的时 则该参数规定的是从数组元素的尾部开始算起的位置 (-1 指的是 数组中倒数第一个元素, -2 指的是,数组中倒数第二个元素。)

    slice 参数 : slice(start,end);

    slice 方法,在string对象和array对象 的用法上类似。

    对于数组对象来说,slice 方法提取 从 start下标起 以end下标 为结尾的 一段元素(但不包括end下标的元素),然后返回新的数组,对原数组没有任何是影响,

    当参数为负时 则该参数 是从 数组的末尾 索引 开始算起,(-1 指的是 数组中倒数第一个元素, -2 指的是,数组中倒数第二个元素。)

    当参数为一个参数,当为一个参数时,提取 是以 start下标起 至末尾的 部分元素。

    当start 为0 时, 等于说是 克隆一个新的数组,克隆后 两个数组进行各自的操作,都互不影响

    
        comments.splice(index, 1);
    
        const newComments = [
          ...comments.slice(0, index),
          ...comments.slice(index + 1)
        ];
    

    上面两句的功能是一样的,下面一句是把除要删除元素之外的元素复制并合在一起,
    ...是ES6的扩展语法,方便两个数组之间的拼接


    以上就是我在day5中学到的知识,这里我同样参考了soyaine的中文指南,感谢

    相关文章

      网友评论

        本文标题:JavaScript30 Day 7

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