当前位置: 首页 > news >正文

WebAPIs里的filter

基本语法

const 新数组 = 原数组.filter(function(当前元素, 索引, 原数组) {// 返回一个布尔值:true 表示保留该元素,false 表示过滤掉该元素return 条件表达式;
});
  • 参数

    • 回调函数:必选,用于判断元素是否符合条件。
      • 当前元素:当前遍历到的数组元素。
      • 索引:当前元素的索引(可选)。
      • 原数组:调用 filter() 的数组本身(可选)。
    • thisArg:可选,指定回调函数中 this 的指向。
  • 返回值:一个新数组,包含所有通过回调函数验证的元素(即回调返回 true 的元素)。

用法

1. 筛选数字数组中大于 5 的元素
const numbers = [1, 6, 3, 8, 2, 10];
const result = numbers.filter(function(num) {return num > 5; // 保留大于 5 的元素
});
console.log(result); // [6, 8, 10]
console.log(numbers); // [1, 6, 3, 8, 2, 10](原数组不变)
2. 筛选对象数组中符合条件的对象
const students = [{ name: '张三', age: 18, gender: '男' },{ name: '李四', age: 20, gender: '女' },{ name: '王五', age: 19, gender: '男' }
];// 筛选年龄大于 18 的男生
const result = students.filter(function(student) {return student.age > 18 && student.gender === '男';
});
console.log(result); 
// 输出:[{ name: '王五', age: 19, gender: '男' }]
3. 结合箭头函数简化写法
const numbers = [1, 2, 3, 4, 5, 6];
// 筛选偶数(箭头函数简化)
const evenNumbers = numbers.filter(num => num % 2 === 0);
console.log(evenNumbers); // [2, 4, 6]
4. 去重(筛选首次出现的元素)
const arr = [1, 2, 2, 3, 3, 3];
const uniqueArr = arr.filter(function(item, index, self) {// 只保留索引等于首次出现位置的元素return self.indexOf(item) === index;
});
console.log(uniqueArr); // [1, 2, 3]
http://www.dtcms.com/a/299938.html

相关文章:

  • Android 编码规范全指南
  • 驱动-设备树-基本语法
  • Python爬虫实战:诗词名句网《三国演义》全集
  • 服务器:数字世界的隐形引擎
  • 《基于雅可比矢量近似的EIT触觉传感灵敏度非均匀校正》论文解读
  • ESP32实战:5分钟实现PC远程控制LED灯
  • C++类和对象(三)
  • IC测试之pogo pin学习与总结-20250726
  • 进制定义与转换详解
  • 1.Java发展简史与设计哲学
  • 最优估计准则与方法(5)加权最小二乘估计(WLS)_学习笔记
  • 360° 外壁镜头:小物体环外侧检测的创新突破
  • Python day25
  • MySQL中的 redolog
  • 连锁店铺巡查二维码的应用
  • 单片机CPU内部的定时器——滴答定时器
  • 智慧水库边缘计算技术路线与框架设计
  • 21-ospf多区域
  • Python编程:初入Python魔法世界
  • Java 面向对象之方法与方法重载:从基础到实践
  • Go 多模块仓库标签管理教程
  • 详解Aerospike数据库在Linux系统上的安装流程
  • LLM中 词嵌入向量中的正负值表示什么含义
  • Aerospike与Redis深度对比:从架构到性能的全方位解析
  • 【HTML】<script>元素中的 defer 和 async 属性详解
  • 认识泛型、泛型类和泛型接口
  • 服务器生成图片
  • 力扣872. 叶子相似的树
  • Ubuntu系统安装EasyTier组网
  • rt-thread 5.2.1 基于at-start-f437开发过程记录