为啥要放弃for循环?

摘要:创建一个新的数组,新的数组中的元素是通过检查指定数组中符合条件的元素;注意:1. filter()不会对空数组进行检测;2. filter()不会改变源是数组;

一、filter() 过滤数组

创建一个新的数组,新的数组中的元素是通过检查指定数组中符合条件的元素;
注意:
1. filter()不会对空数组进行检测;
2. filter()不会改变源是数组;

let arr1 = [
    { name: '橘子', price: '5', count: 20} ,
    { name: '香蕉', price: '10.5', count: 30} ,
    { name: '水蜜桃', price: '9', count: 15} ,
]
const newArr = arr1.filter( item => {
    return item.count >= 10
})
console.log(newArr) 
/* [
    {name: "橘子", price: "5", count: 20},
    {name: "水蜜桃", price: "15", count: 23}
    ]
    //filter()会帮我们返回数组中所有符合的元素


二、find()用于找到第一个符合条件的成员

它的参数是一个回调函数,所有成员都必须执行这个回调函数,直到找到第一个返回值为true的成员,然后返回该成员,否则返回undefined;
当数组中的元素找到符合条件时,返回true,且后面的值不会在执行该回调函数。

const arr = [34, 65, 87, 48, 99];
const arrNew = arr.find(num => {
    return num >= 66;
});
console.log(arrNew); // 87
/* 
 find()函数可以接收三个返回值,第一个是当前的值,第二个是当前值的位置(数组的下标),第三个值是原数组
 */


三、 map返回一个新数组,数组中的元素为原始数组处理过的值;

注意:
map不会对空数组进行检测;
map不会修改原是数组;

const mapArr = [11,22,33,44,55,66];
const newMapArr = mapArr.map( item => {
return item / 11
})
console.log(newMapArr)[1,2,3,4,5,6]


四、 forEach() 用于调用数组中的每一个元素;

所有 forEach()方法可以拿到我们的数组中每一个值 , 也就是我们遍历数组了 ~

const arr = [1, 2, 3, 4]
arr.forEach(
  val =>{   
   console.log(val)
  }
) // 1  2  3  4

区别
filter()和find()的区别:
相同点:
1. 都不会对空数组进行检测;
2. 都不会改变原数组;
不同点:
filter()会返回符合条件的所有值,并且创建一个新的数组,find()只找到符合条件的第一个值,返回true,否则返回undefined;

本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_5717