【问】js数组常用方法有哪些?
【答】js数组常用方法有:
方法名 | 功能 | 是否修改原数组 |
---|---|---|
arr1.push(item1[, item2, …]) | 数组尾新增一个或多个元素,返回新数组长度 | 是 |
arr1.pop() | 数组尾删除一个元素,返回被删除元素 | 是 |
arr1.unshift(item1, item2, …) | 数组首新增一个或多个元素,返回新数组长度 | 是 |
arr1.shift() | 数组首删除一个元素,返回被删除元素 | 是 |
arr1.reverse() | 数组反转,返回新数组 | 是 |
arr1.sort([function(a, b){}]) | 按回调函数排序,返回新数组 | 是 |
arr1.splice(start, delNum, newItem1, newItem2, …) | 删除并替换指定位置元素,返回新数组 | 是 |
arr1.concat(item1, item2, …) | 合并数组,返回新数组 | 否 |
arr1.join(item1, item2, …) | 用连接符转换数组为字符串,返回该字符串 | 否 |
arr1.slice(start, end) //end不包含 | 返回截取指定位置的子数组 | 否 |
arr1.toString() | 将数组转化为用逗号拼接的字符串,返回该字符串 | 否 |
arr1.indexOf(targetItem[, start]) | 返回指定元素第一次出现的索引 | 否 |
arr1.lastIndexOf(targetItem[, start]) | 返回指定元素最后一次出现的索引 | 否 |
arr1.includes(item1, item2, …) | 检测数组中是否含有某元素,返回true/false | 否 |
arr1.forEach(function(item, index, arr) {}) | 使用指定函数遍历数组,返回无 | 否 |
arr1.map(item1, item2, …) | 使用指定函数遍历数组,返回映射新数组 | 否 |
arr1.filter(item1, item2, …) | 使用指定函数遍历过滤数组,返回过滤结果新数组 | 否 |
arr1.every(item1, item2, …) | 使用指定函数遍历检测数组,是否全部通过,返回true/false | 否 |
arr1.some(item1, item2, …) | 使用指定函数遍历检测数组,是否有通过的,返回true/false | 否 |
arr1.reduce(function(pre, item, index, arr){}, initPre) | 使用指定函数迭代处理每项,返回迭代最终值 | 否 |
arr1.reduceRight(function(pre, item, index, arr){}, initPre) | 倒序使用指定函数迭代处理每项,返回迭代最终值 | 否 |
arr1.find(function(item, index, arr){}[, this]) | 使用指定函数查找元素,返回满足条件的第一个/找不到为undefined | 否 |
【测试1】
-
push
-
pop
-
unshift
-
shift
-
reverse
-
sort
-
splice
-
concat
-
join
-
slice
-
toString
-
indexOf、lastIndexOf
-
forEach
-
map
-
filter
-
every
-
some
-
reduce
-
reduceRight
-
find
参考1:超全的JS常用数组方法整理