Web 前端开发 WEB前端程序开发让前端飞

JavaScript30 Day 7

2017-07-31  本文已影响0人  lijianliang

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

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

涉及的知识点

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的中文指南,感谢

上一篇下一篇

猜你喜欢

热点阅读