JavaScript使用数组

1.Array.includes和Array.indexOf

   Array.includes(value):返回一个布尔值,value是否在数组中

   Array.indexOf(value):如果value在数组中,则返回value在数组中的下标;否则返回-1

   当只想确定一下value是否在数组中时,可使用Array.includes()来替代Array.indexOf();

   如下图:

   JavaScript使用数组

2.Array.find 和Array.filter

   以上两个方法都是通过回调函数进行数据的返回

   Array.filter(fn):在经过回调函数后,返回的是过滤后的仅有符合过滤条件的的数组

   Array.find(fn):在经过调用函数后,一旦遇到满足条件的元素就会返回该元素并不再往下走

   如下图:

   JavaScript使用数组

3.Array.find 和Array.some

  Array.some(fn):当要知道数组中是否存在一个元素时用到,返回一个boolean值,也是和Array.find(fn)最大的区别

  JavaScript使用数组

4.Array.reduce 和 Array.filter 与 Array.map 的组合
   Array.filter(fn)和Array.map(fn):用于过滤数组后再重新创造一个新的数组,缺点是过滤的时候需要把数组过滤一遍,用map创造一个新的数组的时候还需要把过滤过的数组再重新走一遍,效率较低。

  Array.reduce(fn):一个函数就完成了上面两个函数所要完成的步骤,且再过滤的过程中就可以把过滤到的数组元素拼接到新的数组中。

  如下图:

  JavaScript使用数组

 

 

注:两者都返回一个布尔值,表示某项是否存在于数组之中,一旦找到对应的项,立即停止遍历数组。不同的是 Array.some 的参数是回调函数,而 Array.includes 的参数是一个值(均不考虑第二个可选参数)。