285. 数组有哪些方法,区别和使用场景
valueof
toString
push
pop
- 删除数组末尾元素并返回删除的元素,原数组会发生改变
shift
unshift
- 数组第一个元素前添加元素,返回添加元素后数组的长度,原数组会改变
join
- 以指定参数作为分隔符,将所有数组成员连接为一个字符串返回。默认是逗号分隔。原数组不改变。
- 如果数组成员为 undefined 或 null 或空位,会被转为空字符串
concat
- 多个数组合并。a.concat(b) 将b添加到a末尾,返回新数组,原数组不改变
- 如果数组成员包括对象,concat 方法返回当前数组的一个浅拷贝。所谓“浅拷贝”,指的是拷贝的是对象的引用
reverse
slice
splice
- 删除数组一部分,可以在删除的位置添加新成员,返回被删除的元素。原数组不改变
- arr.splice(start, count, addEle)
// 以下方法参数是传入一个函数
sort
- 对数组成员排序,默认按字典顺序排序。原数组会改变
- sort (fun) 可以接收一个函数,该函数返回值d大于0则由大到小排列,否者由小到大排列。如 [1,2,3,4,5].sort(() => -1)
map
- arr.map((current,index,array) => {return ...})
- 将数组的所有成员依次执行函数,然后把每一次执行结果(return)组成一个新数组返回,原数组不改变。
forEach
- arr.forEach((current,index,array) => {...})
- 对数组每个元素执行一次给定的函数,无返回值,原数组不改变
filter
- arr.filter((current,index,array) => {return ...})
- 过滤数组成员,满足条件(即对成员依次执行函数return true)的成员组成一个新数组返回,原数组不改变
some
+