(基础)JavaScript数组方法大全,方便查找使用

只介绍数组方法大概作用、参数、及返回值,具体使用请查询MDN文档

concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。

  • 作用:(数组拼接)
  • 参数:需要拼接的数组(可多个)
  • 返回值:新的数组

copyWithin() 方法浅复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度。

  • 作用:将数组中指定元素(一部分元素替换到指定位置)
  • 参数:替换目标位置、执行开始为索引、结束索引
  • 返回值:改变后的数组

every() 方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。

  • 作用:对数组中每个对象进行操作 return
  • 参数:当前值、当前值索引、当前数组
  • 返回值:全部满足返回 true,否则 false

some() 方法测试数组中是不是至少有 1 个元素通过了被提供的函数测试。它返回的是一个 Boolean 类型的值。

  • 作用:对数组中每一个元素操作,有一个满足就返回 true
  • 参数:当前值、当前值索引、当前数组、#执行 callback 时使用的 this 值。
  • 返回值:布尔值 Boolean

fill() 方法用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引。

  • 作用:将指定元素替换数组中一些元素
  • 参数:要替换的元素、替换开始索引、替换结束索引
  • 返回值:改变后的数组
[1, 2, 3].fill(4); // [4, 4, 4]

filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。

  • 作用:对数组每个元素进行操作,满足的将加入新数组返回 return
  • 参数:当前值、当前值索引、当前数组
  • 返回值:新数组,没有满足的元素返回空数组

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

  • 作用:用于数组对象属性查找,返回第一个满足条件的元素对象
  • 参数:当前值、当前值索引、当前数组
  • 返回值:第一个满足条件的对象,没有返回 undefined

findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。若没有找到对应元素则返回-1。

  • 作用:用于数组元素查找,返回第一个满足条件的元素索引
  • 参数:当前值、当前值索引、当前数组
  • 返回值:第一个满足条件元素的索引,没有返回-1

flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。

  • 作用:数组扁平化,指定深度
  • 参数:指定要提取嵌套数组的结构深度,默认值为 1。
  • 返回值:新数组

flatMap()方法首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。它与 map 连着深度值为1的 flat 几乎相同,但 flatMap 通常在合并成一种方法的效率稍微高一些。

  • 作用:对数组中每个元素进行操作
  • 参数:当前值、当前值索引、当前数组
  • 返回值:一个新的数组,其中每个元素都是回调函数的结果,并且结构深度 depth 值为 1。
[1, 2, 3, 4].flatMap(x => [x * 2]); // [2, 4, 6, 8]

forEach() 方法对数组的每个元素执行一次给定的函数。

  • 作用:方法对数组的每个元素执行一次给定的函数。
  • 参数:当前值、当前值索引、当前数组
  • 返回值:undefined
const items = ['item1', 'item2', 'item3'];
const copy = [];
// before
for (let i=0; i

includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回 false。

  • 作用:查询数组中是否包含指定值
  • 参数:查找的值、开始查找的索引
  • 返回值:布尔值 Boolean

indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。

  • 作用:查询数组中是否包含指定值(返回包含元素第一次出现的索引)
  • 参数:查找的值、开始查找的索引
  • 返回值:首个被找到的元素在数组中的索引位置; 若没有找到则返回 -1

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

  • 作用:判断值是不是数组类型
  • 参数:需要判断的值
  • 返回值:如果值是 Array,则为 true; 否则为 false。

join() 方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符。

  • 作用:将数组每一项用指定元素拼接字符串
  • 参数:指定拼接元素
  • 返回值:一个所有数组元素连接的字符串。如果 arr.length 为 0,则返回空字符串。
var a = ['Wind', 'Rain', 'Fire'];
var myVar1 = a.join(); // myVar1 的值变为"Wind,Rain,Fire"
var myVar2 = a.join(', '); // myVar2 的值变为"Wind, Rain, Fire"
var myVar3 = a.join(' + '); // myVar3 的值变为"Wind + Rain + Fire"
var myVar4 = a.join(''); // myVar4 的值变为"WindRainFire"

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

  • 作用:数组中指定元素最后一次出现的索引值
  • 参数:查找的值、开始查找的索引(从此位置开始逆向查找。默认为数组的长度减 1(arr.length - 1))
  • 返回值:数组中该元素最后一次出现的索引,如未找到返回-1。

map() 方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。

  • 作用:对数组中每个元素执行操作,返回操作后结果新数组
  • 参数:当前值、当前值索引、当前数组
  • 返回值:一个由原数组每个元素执行回调函数的结果组成的新数组。

Array.of() 方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。

  • 作用:传入任意参数,将组成新数组返回
  • 参数:任意个参数,将按顺序成为返回数组中的元素。
  • 返回值:新的 Array 实例
Array.of(1); // [1]
Array.of(1, 2, 3); // [1, 2, 3]
Array.of(undefined); // [undefined]

pop()方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。

  • 作用:删除数组中最后一个元素
  • 参数:无
  • 返回值:被删除的元素(当数组为空时返回 undefined)。

shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。

  • 作用:删除数组中的第一个元素
  • 参数:无
  • 返回值:从数组中删除的元素; 如果数组为空则返回 undefined 。

push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度。

  • 作用:给数组末尾处追加元素
  • 参数:被添加到数组末尾的元素
  • 返回值:当调用该方法时,新的 length 属性值将被返回。(改变原数组)

unshift() 方法将一个或多个元素添加到数组的开头,并返回该数组的新长度(该方法修改原有数组)。

  • 作用:给数组头部追加元素
  • 参数:被添加到数组头部的元素
  • 返回值:当调用该方法时,新的 length 属性值将被返回。(改变原数组)

reduce() 方法对数组中的每个元素执行一个由您提供的 reducer 函数(升序执行),将其结果汇总为单个返回值。

  • 作用:对数组中元素连续汇总(数组中元素累加)
  • 参数:累计数、当前值、当前值索引、当前数组、#第一次执行的第一个参数值
  • 返回值:函数累计处理的结果
var arr = [1, 2, 3, 4, 5, 6, 7, 87]
  var n = arr.reduce((accumulator, currentValue) => {
  return accumulator + currentValue
}, 100) //100 是初始累加值 可选
console.log(n); //215

reverse() 方法将数组中元素的位置颠倒,并返回该数组。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。该方法会改变原数组。

  • 作用:将数组元素颠倒顺序
  • 参数:无
  • 返回值:颠倒后的数组

slice() 方法返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括 end)。原始数组不会被改变。

  • 作用:截取数组中一部分元素
  • 参数:开始索引、终止索引
  • 返回值:一个含有被提取元素的新数组

sort() 方法用原地算法对数组的元素进行排序,并返回数组。默认排序顺序是在将元素转换为字符串,然后比较它们的 UTF-16 代码单元值序列时构建的

  • 作用:对数组进行具体排序
  • 参数:第一个用于比较的元素、第二个用于比较的元素(用来指定按某种顺序进行排列的函数。如果省略,元素按照转换为的字符串的各个字符的 Unicode 位点进行排序。)
  • 返回值:排序后的数组。请注意,数组已原地排序,并且不进行复制
var numbers = [4, 2, 5, 1, 3];
  numbers.sort(function (a, b) {
  return a - b;
});
console.log(numbers); //[1, 2, 3, 4, 5]

splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。

  • 作用:对数组元素进行删除或替换新增元素
  • 参数:开始索引、移除元素个数、要添加的元素
  • 返回值:由被删除的元素组成的一个数组(原数组被改变)
var myFish = ["angel", "clown", "mandarin", "sturgeon"];
// var removed = myFish.splice(2, 0, "drum");
// console.log(myFish); //['angel', 'clown', 'drum', 'mandarin', 'sturgeon']
// console.log(removed); //[]
// var removed = myFish.splice(2, 1);
// console.log(myFish); // ['angel', 'clown', 'sturgeon']
// console.log(removed); //['mandarin']

toString() 返回一个字符串,表示指定的数组及其元素。

  • 作用:将数组转为字符串类型
  • 参数:无
  • 返回值:一个表示指定的数组及其元素的字符串
const array1 = [1, 2, 'a', '1a'];
console.log(array1.toString());
//"1,2,a,1a"

toLocaleString() 返回一个字符串表示数组中的元素。数组中的元素将使用各自的 toLocaleString 方法转成字符串,这些字符串将使用一个特定语言环境的字符串(例如一个逗号 ",")隔开。

参数:

  • locales 可选
  • 带有 BCP 47 语言标记的字符串或字符串数组,关于 locales 参数的形式与解释,请看 Intl 页面。
  • options 可选
  • 一个可配置属性的对象,对于数字 Number.prototype.toLocaleString(),对于日期 Date.prototype.toLocaleString().
  • 返回值:表示数组元素的字符串

values() 方法返回一个新的 Array Iterator 对象,该对象包含数组每个索引的值

  • 返回值:一个新的 Array 迭代对象。

keys() 方法返回一个包含数组中每个索引键的 Array Iterator 对象。

  • 返回值:一个新的 Array 迭代器对象。

Array.from() 方法对一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。

  • 作用:方法对一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。
  • 参数:
  • arrayLike
  • 想要转换成数组的伪数组对象或可迭代对象。
  • mapFn 可选
  • 如果指定了该参数,新数组中的每个元素会执行该回调函数。
  • thisArg 可选
  • 可选参数,执行回调函数 mapFn 时 this 对象。
  • 返回值:新数组

详细使用后续更新...

你可能感兴趣的:(javaScript,javascript)