面试过程中遇到js操作数组的具体实现和返回值的提问,自己对于这部分知识不熟练,故而专门整理出来进行运行学习
操作数组方法 | 含义 | 返回值 | 数据实现截图 | 是否改变原数组 |
arr.push() | 数组尾部添加 | 返回添加元素 | 改变原数组 | |
arr.unshift() | 数组头部添加 | 返回数组的长度 | 改变原数组 | |
arr.pop() | 删除数组的最后一个元素 | 返回删除的数据 | 改变原数组 | |
arr.shift() | 移除数组的第一个元素 | 返回移除的数据 | 改变原数组 | |
arr.slice(strat,end) | 1、不传参数 2、一个参数:索引开始截取到数组结束 3、两个参数:索引开始,到第二个参数索引结束(包含第二个参数) | 1、不传参数:返回原数组 2、一个参数:返回截取数组 3、两个参数:返回截取数组 4、返回的数组均不包含第一个参数索引处值,包含第二个参数索引处值 | 原数组不变 | |
arr.splice() arr.splice(参1) arr.splice(参1,参2) arr.splice(参1,参2,参3) | 1、不传参 2、一个参数:索引处开始截取到数组结束 3、两个参数:索引开始,第二个参数表示截取的长度 4、三个或更多参数:第三个和之后的参数表示要从截取位插入的值 | 1、不传参数:返回空数组 2、传参数:返回截取数组 | 1、不传参数:原数组不变 2、一个参数:改变原数组 3、两个参数:改变原数组 4、三个参数以上:改变原数组 | |
arr.reverse() | 数组顺序倒序 | 返回倒序之后的数组 | 改变原数组 | |
arr.sort() | 进行数组的排序 正确的理解:需要在sort中进行函数的定义来升序或降序 错误的理解:从小到大进行排序 | 返回排序之后的数组 | 改变原数组 | |
arr.join() | 将数组作为字符串返回,由指定的分隔符进行分割,默认分隔符为( , ) | 返回分割之后的字符串 | 原数组不变 | |
string.concat() | 将多个数组或字符串进行拼接,拼接在原数组、字符串后面。 此方法属于字符串,数组也可以使用。 | 返回拼接之后的数组或字符串 | 原数组不变 | |
ES5新增 | ||||
arr.map() | 遍历数组 | 有值:返回计算之后的数组 数组为空时返回也为空数组 | 原数组不变 | |
forEach() | 遍历数组 | 返回值为undefined 换种说法:不接受返回值或者返回undefined | 原数组不变 | |
indexOf() | 字符串或数组的方法 判断元素是否在数组中 | 若在返回在数组中的索引 不在返回-1 | 原数组不变 | |
filter() | 过滤符合条件的元素 | 返回一个满足条件的新数组 | 原数组不变 | |
some() | 数组中有任意一个元素满足条件则返回true,反则返回false | 返回布尔值:true或者false | 原数组不变 | |
every() | 数组中所有的元素都符合条件则返回true,反则false | 返回布尔值:true或者false | 原数组不变 | |
reduce() | 数据累加 | 返回值累加结果 | 原数组不变 | |
ES6新增 | ||||
... 复制数组 | 复制数组,合并数组 | 返回复制的数组或合并的数组 | 原数组不变 | |
find() | 遍历查找数组中符合条件的元素,若有符合条件的元素,则返回第一个元素 | 1、多个满足条件返回第一个值 2、无满足条件时返回undefined | 原数组不变 | |
findIndex() | 遍历查找符合条件的元素索引 | 1、返回满足条件的第一个索引值 2、数组空位返回undefined | 原数组不变 | |
keys() | 遍历键名 | 包含索引值的数组 | 原数组不变 | |
values() | 遍历键值 | 包含键值的数组 | 原数组不变 | |
fill() | 将一定范围索引的数组元素内容填充为单个指定的值 | 1、返回填充之后数组 2、无参数时返回对应长度的数组,数组中均为undefined | 改变原数组 | |
includes() | 检测数组中是否包含一个值 | 返回布尔值false或true | 原数组不变 | |
array.of() | 数组创建,将参数中的所有值转换为数组 参数可以是不同类型,最后返回到一个数组中 | 返回数组,无参数则为空数组 | 改变原数组 | |
array.from() | 将类数组对象或可迭代对象转换为数组 | 返回数组 | 改变原数组 |
sort函数正确解析:
JavaScript Array sort() 方法解析_偷吃零食的小猫咪的博客