简单的整理记下部分数组方法

107 阅读2分钟

数组方法

插入的方法:

Array.unshilft :在数组开头插入数据,返回数组的长度,改变原数组。

Array.push: 在数组结尾插入数据,返回数组的长度,改变原数组。

移除元素 :

Array.shift:删除数组的第一个元素,返回删掉的值,改变原数组。

Array.pop: 删除数组的最后一个元素,返回删掉的值,改变原数组。

查找元素:

Array.find: 返回满足的第一个元素,无则返回undefined。

Array.findIndex: 返回满足条件的第一个元素的索引。

Array: some: 返回Boolean,有一个元素满足条件返回true,不满足返回false。

Array.every: 返回Boolean,所有元素满足条件返回true,有一个不满足返回false。

Array.indexOf(查找的值,fromIndex (开始查找的下标)): 返回找到元素的下标,没找到返回-1;

Array.includes(查找的值,fromIndex (开始查找的下标)): 判断一个数组是否包含某个元素,有返回true,无则false。

截取数组/替换数组元素

Array.slice ( [begin[, end]] ) 返回一个新的数组(浅拷贝),左闭右开。

Array.splice( start[, deleteCount[, item1[, item2[, ...]]]] ) , 返回删除掉的元素数组,无则空数组,会改变原数组。

数组循环

Array.map: 返回每个元素调用callback时返回的值组成的新数组。

Array.forEacth:返回undefined,for循环的语法糖,特别注意:如果稀松数组的那些种空值会变跳过。这个循环是不能被终止的。

过滤元素

Array.filter:过滤掉callback返回false的元素,返回callback是true的元素。

Array.reduce( callbackFn, initialValue ): 返回最终的callbackFn返回的值,如果初始值initialValue 没有设置的话,第一个元素会被当作初始值,从第二个开始迭代循环。

数组合并

Array.concat(value1[, value2[, ...[, valueN]]]):返回,合并成一个新数组

数组排序

Array.sort ,会改变原数组。

  • 如果 compareFunction(a, b) 小于 0 ,那么 a 会被排列到 b 之前;
  • 如果 compareFunction(a, b) 等于 0 , a 和 b 的相对位置不变。备注: ECMAScript 标准并不保证这一行为,而且也不是所有浏览器都会遵守(例如 Mozilla 在 2003 年之前的版本);
  • 如果 compareFunction(a, b) 大于 0 , b 会被排列到 a 之前。

数组反转

Array.reverse

返回反转后的数组引用,原数组会被改变。

按指定格式转字符串

Array.join()按参数的内容作为分隔符,把数组转成字符串

扁平化数组

Array.flat (depth):返回扁平化后的数组,默认1层。参数是depth,展开几层的深度。

获取某下标的元素

Array.at(index): 返回index下标的元素,可以为负数

将类数组转化为数组

Array.form(arrayLike,mapFn, thisArg ): 第二个参数是类似数组的map === Array.form().map();

复制数组部分到某个索引位置

Array.prototype.copyWithin