JS面试题(一)—— 数组方法归纳大全(ES5、ES6+)

312 阅读3分钟

前端修习浩如烟海,受 “奥多姆剃刀原理” 启发,为遵循“如无必要 勿增实体”,我开辟了《面向面试学前端》诸篇系列,旨在学习更必要和高频的知识点,并由点及面、细粒度、渐进式地,构建精简实用的前端知识图谱体系。

本文是面向初级前端的入门级文章,如果觉得涉及知识过浅可以不看,也欢迎大佬交流和斧正

JS面试题(一)—— 数组方法归纳大全(ES5、ES6+)

方法名作用返回值
------
以下是改变原数组的方法
------
1push()在数组末尾添加一个或多个元素返回数组新length
2pop()从数组中删除最后一个元素返回被删元素的值
3shift()从数组中删除第一个元素返回被删元素的值
4unshift()在数组开头添加一个或多个元素返回数组新length
5splice()对数组进行增删改操作以数组形式返回被修改的内容
6reverse()颠倒数组顺序反转后的数组
7sort()对数组排序排序后的数组
8forEach()遍历数组并批量操作undefined
------
以下是返回新数组的方法
------
1map()对数组项进行处理映射返回处理后映射的数组
2filter()对数组项进行条件筛选过滤返回过滤后的新数组
3concat()对数组项进行合并返回合并后的新数组
4slice()对数组进行截取后的浅拷贝(包含 begin、不包含end)返回截取后的浅拷贝新数组
5flat()数组扁平化
(Infinity 关键字作为参数时,无论多少层嵌套,都会转为一维数组)
返回扁平化后的新数组
6Array.from()对一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。返回一个新的数组实例
------
以下是 既不改变原数组、也不返回新数组 的方法
------
1at()接收一个整数值,并返回该索引对应的元素返回索引对应的元素,找不到则返回 undefined
2indexOf()搜索 某元素 并返回第一个匹配的索引返回第一个匹配的索引,找不到则返回 -1
3lastIndexOf()indexOf()的逆向索引返回从末尾开始第一个匹配的索引,找不到则返回 -1
4find()找到满足条件的第一个值返回该值
5findLast()找到满足条件的最后一个值返回该值
6findIndex()找到满足条件的第一个值索引返回该索引号,找不到则返回 -1
7findLastIndex()找到满足条件的最后一个值索引返回该索引号,找不到则返回 -1
8includes()判断一个数组是否包含一个指定的值如果包含则返回 true,否则返回 false。
9join()数组转字符串返回字符串
10toString()数组转字符串返回字符串
11every()对数组项进行校验,只要有一项通过了就返回trueboolean
12some()对数组项进行校验,所有项都通过了才返回trueboolean
13reduce()递归调处理返回的最后一次递归回调的返回值
14reduceRight()类似于reduce(),数组从右往左递归返回的最后一次递归回调的返回值
15Array.isArray()用于确定传递的值是否是一个 Array是则返回 true,否则返回 false。
16keys()返回一个包含数组中每个索引键的 Array Iterator 对象。一个新的 Array 迭代器对象。
17values()返回一个包含数组中每个索引值的 Array Iterator 对象。一个新的 Array 迭代器对象。
18entries()[0, 'a']返回一个新的 Array 迭代器对象。