函数名称 | 是否会改变自身 | 参数说明 | 解释 | 返回值 |
---|---|---|---|---|
Array.from() | false | 类数组对象 | 一个类似数组或可迭代对象中创建一个新的数组实例 | 数组实例 |
Array.isArray() | false | 需要检测的元素 | 判断一个元素是否为数组 | 布尔值 |
Array.isArray() | false | 元素,可多个 | 创建一个具有可变数量参数的新数组实例 | 数组实例 |
fill() | true | value,开始索引,结束索引 | 将数组中指定区间的所有元素的值,都替换成value | 无 |
push() | true | 需要插入的值(可多个) | 栈方法,添加一个或多个元素到数组的末尾 | 数组长度 |
pop() | true | 无 | 栈方法,删除一个数组中的最后一个元素 | 被删除的元素 |
shift() | true | 无 | 队列方法,删除数组的第一个元素,并返回这个元素 | 被删除的元素 |
unshift() | true | 需要插入的值(可多个) | 队列方法,在数组的开头插入一个或多个元素 | 数组长度 |
reverse() | true | 无 | 前后颠倒数组中元素的位置,第一个元素会成为最后一个 | 操作后的数组 |
sort() | true | 空/比较函数 | 对数组的元素做原地的排序,并返回这个数组。sort可能不稳定,默认按照字符串的unicode码位点排序 | 操作后的数组 |
splice() | true | (开始索引,需要删除的数量,…需要插入的值,可多个) | 在任意的位置给数组添加或删除任意个元素(拼接) | 被删除的值(数组形式),无则为空数组 |
copyWithin() | true | (开始索引,替代数组开始的索引/空[默认为0],替代数组结束的索引/空[默认为数组长度]) | 用于在数组内的替换操作,即替换元素和被替换元素都是数组内的元素 | 操作后的数组 |
concat() | false | 需要拼接的数组(可多个) | 用于合并两个或多个数组 | 操作后的数组 |
includes() | false | (值,索引) | 用来判断当前数组是否包含某指定的值 | 布尔值 |
indexOf() | false | (值,索引) | 返回在数组中可以找到一个给定元素的第一个索引 | 索引 |
lastIndexOf() | false | (值,索引) | 返回在数组中可以找到一个给定元素的最后一个索引,会从数组的后面向前查找 | 索引 |
join() | false | (连接符) | 将一个数组(或一个类数组对象)的所有元素连接成一个字符串 | 连接后的字符串 |
slice() | false | (开始索引,需要删除的数量,…需要插入的值,可多个) | 在任意的位置给数组添加或删除任意个元素(拼接) | 按逻辑增删后的数组(不改变原数组) |
toString() | false | 无 | 使数组变成字符串,用’,’连接。若数组的值存在数组,会便遍历拼接在字符串里;对象,会变成[object Object];undefined则什么都不连接,即会变成,, | 字符串 |
toLocalString() | false | 使数组变成字符串,用’,’连接。数组内的元素会调用自己的toLocalString方法 | 字符串 | |
forEach() | false | (item/值,index/索引,array/原数组) => {} | forEach遍历的范围在第一次调用 callback前就会确定。调用forEach后添加到数组中的项不会被 callback访问到。如果已经存在的值被改变,则传递给 callback的值是 forEach遍历到他们那一刻的值。已删除的项不会被遍历到。 | 无 |
map() | false | (item/值,index/索引,array/原数组) => {} | 一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组 | 返回值构成的新数组 |
keys() | false | 无 | 返回一个新的Array迭代器,它包含数组中每个索引的键 | Array迭代器 |
values() | false | 无 | 返回一个新的Array迭代器,它包含数组中每个值的键 | Array迭代器 |
entries() | false | 无 | 返回一个新的Array迭代器,它包含数组中每个键值对[index, item] | Array迭代器 |
every() | false | callback(v, i, a){} | 若数组的值执行callback全部返回true,则最终返回true | 布尔值 |
some() | false | callback(v, i, a){} | 若数组的值执行callback有一个返回true,则最终返回true | 布尔值 |
filter() | false | callback(v, i, a){} | 使用指定的函数测试所有元素,并创建一个包含所有测试通过的元素的新数组 | 使callback返回true的值组成的数组 |
find() | false | (callback(v, i, a){}, v/callback执行的作用域) | 返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。 | 通过测试的第一个元素值或undefined |
findIndex() | false | (callback(v, i, a){}, v/callback执行的作用域) | 返回数组中满足提供的测试函数的第一个元素的值的索引。否则返回 undefined。 | 通过测试的第一个元素值的索引或undefined |
reduce() | false | ((p/上一次回调的返回值, v/当前被处理的元素, i/索引 , a/原数组) => {}, initialValue初始值) | 该方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始合并,最终为一个值 | 最后的返回值 |
reduceRight() | false | ((p/上一次回调的返回值, v/当前被处理的元素, i/索引 , a/原数组) => {}, initialValue初始值) | 该方法接收一个函数作为累加器(accumulator),数组中的每个值(从右到左)开始合并,最终为一个值 | 最后的返回值 |
JS数组方法总结与部分方法原生实现
最新推荐文章于 2023-03-03 23:06:49 发布