1. 数组有哪些常用方法,功能、返回值、是否会对原数组造成影响?
方法 | 功能 | 返回值 | 改变原数组(Y\N) |
---|---|---|---|
pop() | 删除最后一位 | 删除的数据 | Y |
push() | 在最后一位新增一或多个数据 | 长度 | Y |
shift() | 删除第一位 | 删除的数据 | Y |
unshift() | 在第一位新增一或多个数据 | 长度 | Y |
slice() | 截取指定位置的数组 | 截取后的结果 | N |
splice() | 删除指定位置,并替换 | 删除的数据 | Y |
concat() | 合并数组 | 合并之后的数据 | N |
join() | 使用分隔符,将数组转化为字符串 | 字符串 | N |
reverse() | 反转数组 | 结果 | Y |
toString() | 直接转为字符串 | 结果 | N |
sort() | 排序(字符规则) | 结果 | Y |
valueOf() | 返回给定参数的原生Number对象值 | 结果 | N |
indexOf() | 查询并返回数据的索引 | 结果 | N |
lastIndexOf() | 反向查询并返回数据的索引 | 结果 | N |
forEach() | 参数为回调函数,会遍历数组所有的项,回调函数接受三个参数,分别为value,index,self | 无返回值 | N |
map() | 同forEach | 回调函数返回数据,组成新数组由map返回 | N |
filter() | 同forEach | 回调函数返回布尔值,为true的数据,组成新数组由filter返回 | N |
every() | 同forEach | 回调函数返回布尔值,全部为true为true的数据,组成新数组由every返回 | N |
some() | 同forEach | 回调函数返回布尔值,只要由一个为true的数据,组成新数组由every返回 | N |
reduce() | 归并,同forEach | 迭代数组的所有项,并构建一个最终值,由reduce返回 | N |
reduceRight() | 反向归并,同forEach | 迭代数组的所有项,并构建一个最终值,由reduceRight返回 | N |
2. 哪些数组方法会改变原数组
unshift();
push();
shift();
pop();
sort();
reverse();
splice();