JavaScript数组方法速查手册极简版中共收了32个数组的常用方法和属性,并根据方法的用途进行重新排序和分类,在文中简要的介绍了方法作用和用例说明。收藏备用吧!
文中介绍的过于简单,想更更多理解相关内容还是要多多动手实践!
每个数组都有一个length属性。针对稠密数组,length属性值代表数组中元素的个数。当数组是稀疏数组时,length属性值大于元素的个数。
Array.isArray()
数组类型判定。
Array.of()
从可变数量的参数创建数组,不管参数的数量或类型如何。
Array.from()
用类数组或可迭代对象创建新数组。
Array.prototype.find()
找到第一个满足检测函数条件的元素,并返回该元素,没找到则返回 undefined。
Array.prototype.findIndex()
找到第一个满足检测函数条件的元素,并返回该元素索引。找不到返回-1。
Array.prototype.indexOf()
查找元素并返回元素索引值,找不到返回-1。
第二个参数表示查找的起始位置。
Array.prototype.lastIndexOf()
从后向前查找元素并返回元素索引值,找不到返回 -1。
Array.prototype.push()
在尾部添加一个或多个元素,返回数组的新长度。
Array.prototype.unshift()
在头部添加一个或多个元素,并返回数组的新长度。
Array.prototype.pop()
从尾部删除一个元素,并返回该元素。
Array.prototype.shift()
从头部删除一个元素,并返回该元素。
Array.prototype.splice()
添加、替换、删除元素。会改变原数组。
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
start
:表示替换的位置deleteCount
:表示删除元素的数量item1...
: 表示添加的元素Array.prototype.sort()
数组排序,改变原数组。
Array.prototype.reverse()
倒置数组,并返回新数组。会改变原数组。
Array.prototype.keys()
数组的键迭代器。
Array.prototype.values()
数组的值迭代器。
Array.prototype.entries()
数组的键/值对迭代器。
Array.prototype.forEach()
遍历数组中的元素,并执行回调函数。
Array.prototype.includes()
值包含检测,如包含返回 true,不包含返回false。
Array.prototype.some()
检测数组中是否有元素可以通过检测函数验证。
Array.prototype.every()
检测数组中是否所有元素都可以通过检测函数验证。
Array.prototype.join()
合并数组中所有元素成为字符串并返回。
Array.prototype.concat()
合并两个或多个数组,返回一个全新数组,原数组不变。
该方法可以有多个参数。
Array.prototype.reduce()
从左至右按 reducer
函数组合元素值,并返回累计器终值。
Array.prototype.reduceRight()
从右至左按 reducer
函数组合元素值,并返回累计器终值。
Array.prototype.copyWithin()
数组内部复制,不改变原数组长度。
arr.copyWithin(target[, start[, end]])
target
: 表示要复制到的索引位置,如为负值则从后向前计数。start
: 表示要复制序列的起始索引位置,如为负值则从后向前计数。如省略该值,则从索引0开始。end
: 表示要复制序列的结束位置,如为负值则从后向前计数。如省略该值,则复制到结尾位置。Array.prototype.fill()
用固定值填充起始索引到终止索引区间内的全部元素值,不包括终止索引。
Array.prototype.filter()
生成由通过检测函数验证元素组成的新数组并返回。
Array.prototype.flat()
按指定深度递归遍历数组,并返回包含所有遍历到的元素组成的新数组。不改变原数组。
Array.prototype.map()
创建一个新数组,该数组中的元素由原数组元素调用map函数产生。
Array.prototype.slice()
按参数begin
和 end
截取数组,不改变原数组。
文中介绍的过于简单,想更多理解相关内容还是要多多动手实践!
因时间不足,能力有限等原因,存在文字阐述不准及代码测试不足等诸多问题。如发现错误请不吝指正!谢谢。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。