js数组方法简单介绍

Array.isArray()用于确定传递的值是否是一个Array

Array.prototype.concat()方法用于合并两个或多个数组,此方法不会更改现有数组,而是返回一个新数组
Array.prototype.flat()方法会按照一个指定的深度递归遍历数组,并将所有元素与遍历得到的子数组的元素合并为一个新数组返回。
例子:array.flat(Infinity)//使用 Infinity 作为深度,展开任意深度的嵌套数组
Array.prototype.join()方法将一个数组(或一个类数组对象)的所有元素与提供的分隔符连接成一个字符串并返回这个字符串
Array.prototype.slice()方法返回一个新的数组对象,这一对象是一个由begin和end(不包括end)决定的原数组的浅拷贝。原始数组不会改变。

Array.prototype.every()方法测试一个数组内所有元素是否都通过某个指定函数的测试。空数组默认返回true。方法为数组中每一个元素都执行一次callback函数,直到找到能返回falsy的元素,立即返回false
Array.prototype.some()方法测试是数组内是否至少有一个元素通过某个指定函数的测试。空数组默认返回false。方法为数组中每一个元素都执行一次callback函数,直到找到能返回true的元素,立即返回true

直接操作数组内元素的方法比较:
Array.prototype.reverse()方法将数组中的元素的位置颠倒,并返回该数组。此方法会改变原数组。
Array.prototype.sort()方法用原地算法对数组的元素进行排序,并返回数组。排序算法现在是稳定的。此方法会改变数组
Array.prototype.splice()方法通过删除或者替换现有的元素或者原地添加新的元素来修改数组,此方法会改变数组
Array.prototype.pop()方法删除数组中最后一个元素,并返回该元素的值。此方法会改变数组
Array.prototype.push()方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度
Array.prototype.shift()方法从数组中删除第一个元素,并返回该元素的值。此方法会改变数组
Array.prototype.unshift()方法将一个或者多个元素添加到数组的开头,并返回该数组的新长度

对数组内元素循环操作方法比较:
Array.prototype.reduce()方法对数组中的每个元素执行提供的函数,将其结果汇总为单个返回值
Array.prototype.forEach()方法对数组的每个元素执行一次提供的函数。(没法终止或跳出forEach()循环,除非抛出异常)
Array.prototype.map()方法创建一个新数组,其结果是该数组中的每一个元素都调用一个提供的函数后返回的结果
Array.prototype.filter()方法创建一个新数组,其包含通过所提供函数实现的测试的所有元素

数组查找元素方法比较:
includes()方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回true,否则返回false
注意:对象数组不能使用includes()方法来检测

indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1
lastIndexOf()方法返回指定元素在数组中的最后一个索引,如果不存在则返回-1。从数组的后面向前查找,从fromIndex处开始

find()方法返回数组中满足提供的测试函数的第一个元素的值。否则返回undefined
findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1

find()及findIndex()方法即使对于数组中不存在的条目的索引也会调用回调函数,所以效率较低
如果你需要找到一个元素的位置或者一个元素是否存在于数组中,使用Array.prototype.indexOf()或Array.prototype.includes()

猜你喜欢

转载自blog.csdn.net/pangwoniu/article/details/90411477