关于map some filter every 一些临时记忆
Posted gitwusong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于map some filter every 一些临时记忆相关的知识,希望对你有一定的参考价值。
- map():通过指定函数处理数组的每个元素,并返回处理后的数组。(不遍历空数组,不改变原数组,只是相当于把原数组克隆一份,把克隆的这一份的数组中的对应项改变了)
-
let arr = [1,2,3,4,5] console.log(arr.map((item,index,array)=>item+1));结果为[2,3,4,5,6]
-
map() 方法会将数组中元素依次传入方法中,并将方法的返回结果组成新数组返回。
- filter:创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素(跟map同理)
-
let arr = [1,2,3,4,5] console.log(arr.filter((item,index,array)=>item>2));结果为[3,4,5]
-
filter会根据函数中的筛选条件将返回的结果组成一个新的数组并返回
- some():用于检测数组中的元素是否满足指定条件(函数提供)(不改变原数组,不遍历空数组)
-
let arr = [1,2,3,4,5] console.log(arr.some((item,index,array)=>item>5));结果为false console.log(arr.some((item,index,array)=>item>4));结果为true
-
some方法会依次遍历数组的每个元素;
-
-
-
- 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测
- 如果没有满足条件的元素,则返回false
-
-
- every:用于检测数组所有元素是否都符合指定条件(通过函数提供)(不改变原数组,不遍历空数组,跟some对应)
-
let arr = [2,3,4,5] console.log(arr.every((item,index,array)=>item>1));结果为true console.log(arr.every((item,index,array)=>item>2));结果为false
-
every和some正好相反:
-
-
-
- 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
- 如果所有元素都满足条件,则返回 true
-
-
- foreach():遍历数组中的每一项(跟map同理,不支持IE,没有返回值)
-
let arr = [1,2,3,4] console.log(arr.forEach((item,index,array)=>item));结果为undefined(没有返回值); arr.forEach((item,index,array)=>console.log(item));结果为1,2,3,4
- 不常用 因为不兼容 也无返回值 跟for of循环 for循环 for in 类似
- 遍历的方法还有很多 如:
-
-
- reduce((previousValue, currentValue, index, array)=>previousValue+currentValue)累加
- reduceRight((previousValue, currentValue, index, array)=>previousValue+currentValue) 累加,跟reduce一样,不同的是reduceRight是从尾开始遍历
- find()
- findIndex()
- keys()
- values()
- entries()
-
-
-
以上是关于关于map some filter every 一些临时记忆的主要内容,如果未能解决你的问题,请参考以下文章
every();some();filter();map();forEach()各自区别:
reduce()filter()map()some()every()...展开属性
JS中some(),every(),forEach(),map(),filter()区别
JS中some(),every(),forEach(),map(),filter()区别