JS中 filter、find、some、every 用法

1.filter

用法 
  • 用于过滤数组中的元素,并返回一个新的数组,该数组包含满足指定条件的元素
实例
const numbers = [1, 2, 3, 4, 5, 6];
// 过滤出大于3的元素
const filteredNumbers = numbers.filter(number => number > 3);
console.log(filteredNumbers); // 输出: [4, 5, 6]

2.find

用法
  • find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。
  • 如果没有符合条件的元素返回 undefined
  • find() 对于空数组,函数是不会执行的。
  • find() 并没有改变数组的原始值。
  • array.find(function(currentValue, index, arr),thisValue),其中currentValue为当前项,index为当前索引,arr为当前数组
实例
let test = [1, 2, 3, 4, 5];
let a = test.find(item => item > 3);
console.log(a); //4
 
let b = test.find(item => item == 0);
console.log(b); //undefined
 
//一般用于数据字典回显和数据查找  vue用法  unitColorData为筛选的数组数据
setUnitColor(name) {
    let row = this.unitColorData.find((v) => v.textMap.NAME == name)
    if (row) {
        return `color: ${row.textMap.FONT_COLOR_HEX};background:${row.textMap.BG_COLOR_HEX}`
    } else {
        return `color: #138085; background:${this.hexToRgba('#138085', 0.1)}`
    }
},

 3.some

用法
  • 用来检测数组中的元素是否满足指定条件。
  • 若有一个元素符合条件,则返回true,且后面的元素不会再检测。
  • 不会对空数组进行检测,不会改变原数组
实例
let arr= [1, 2, 3, 4, 5];

let hadVal1 = arr.some(item=> item === 2);

let hadVal2 = arr.some(item=> item === 10);

console.log('hadVal1:',hadVal1); // true
console.log('hadVal2:',hadVal2); // false 

  4.every

用法
  • 用来检测数组中每个元素(检测所有元素)是否都符合指定条件。
  • 若有一个不满足条件,则返回false,后面的元素都不会再执行。
  • 不会对空数组进行检测,不会改变原始数组。
实例
let arr= [ 1, 2, 6, 7, 8 ];

// 检测数组中每个元素是否 都满足 加2后小于5
let everyFlag = arr.every(item=>item + 2 < 5);
console.log('everyFlag:',everyFlag); // false

//检测空数组
let everyEmptyFlag = [].every(item=>{console.log('Kong...');});
console.log('everyEmptyFlag:',everyEmptyFlag); // true

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript,find、map和filter都是数组方法用于对数组进行操作和筛选。其,map方法将数组的每个元素都执行一个提供的函数,并将执行结果组成一个新的数组返回。而filter方法则根据提供的函数对数组的每个元素进行筛选,只返回满足条件的元素所组成的新数组。相似地,find方法也是对数组进行筛选,但它返回的是第一个满足条件的元素本身,而不是组成的新数组。这些方法可以用于对数组进行快速、灵活的操作和筛选,提高了开发效率。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [js 数组遍历方法详解(map、filter、find、findIndex、reduce)](https://blog.csdn.net/weixin_43877799/article/details/124426129)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [前端:JS的数组的遍历、map、filter、find、some、every用法示例](https://blog.csdn.net/fenggering/article/details/118280601)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值