JS中Array的内置函数
2022-09-22 22:44:19
目录
[TOC]
JS箭头函数
也可称作Lambda表达式
原始写法 与 箭头函数的写法区别如下
1 | var arr = ["wei","ze","yang"]; |
箭头函数写法需要注意的地方有:
1 | var student = (name,age) => { //当参数有多个或者没有时,需要加括号 |
下面的常用方法都可以改写为箭头函数的形式
原始for循环
写起来比较麻烦,执行效率较高
1 | let a = [1,2,3]; |
foreach
比较简洁,但性能稍劣于原始for循环,且也不能强制return结束循环
1 | var a = [1,2,3]; |
ES5:for-in
1 | var arr = [1,2,3]; |
ES6:for-of
for-of和for-in语句不同的是只能循环数组,不可以循环对象
1 | var a = [1,2,3]; |
map
通过里面的return语句,返回一个新的数组,不会改变原数组
return语句是在每一次遍历中返回新数组中的一个元素,而不是跳出循环的
1 | var b = a.map(function(value,key,arr){ |
Filter
每一次遍历中若return true 则将该元素添加到新数组
即过滤符合条件的元素进行返回,同时不改变原数组
1 | var a = [1,2,3]; |
Reduce
从左到右将数组元素计算为一个值,从右到做的话是reduceRight函数
1 | var a = [1,2,3]; |
Slice
返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。
参数 | 是否必需 | 描述 |
---|---|---|
start | 必需 | 规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。 |
end | 可选 | 规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。 |
1 | let a = [1,2,3,4.5]; |
Every & Some
区别:*every()是所有都满足条件才返回true,some()*是若有一个满足条件就返回true
1 | var ages = [32, 33, 16, 40]; |
- 如果组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
- 如果所有元素都满足条件,则返回 true
- every() 不会对空数组进行检测,也不会改变原始数组。
1 | var ages = [3, 10, 18, 20]; |
- 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
- 如果没有满足条件的元素,则返回false。
- some() 不会对空数组进行检测,也不会改变原始数组。
更多Array方法参考 菜鸟教程