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

JavaScript es6 语法 map().filter() 链式调用,语法解析 和常见demo

摘要:
map:遍历数组并对每个元素执行回调函数,返回一个新数组

filter:对 map 返回的数组进行过滤,返回满足条件的元素组成的新数组

1.数字数组处理

const numbers = [1, 2, 3, 4, 5];// 先平方,再筛选偶数
const result = numbers.map(num => num * num)  // [1, 4, 9, 16, 25].filter(num => num % 2 === 0);  // [4, 16]console.log(result); // [4, 16]

2.对象数组转换

const users = [{ id: 1, name: 'Alice', active: true },{ id: 2, name: 'Bob', active: false },{ id: 3, name: 'Charlie', active: true }
];// 获取所有活跃用户的名称
const activeUserNames = users.filter(user => user.active)  // 先过滤活跃用户.map(user => user.name);  // 再提取名字console.log(activeUserNames); // ['Alice', 'Charlie']

3.数据清洗

const data = [' hello ', ' world ', '', '  ', 'good'];// 去除空白字符并过滤空字符串
const cleanedData = data.map(str => str.trim())  // 去除两端空格.filter(str => str.length > 0);  // 过滤空字符串console.log(cleanedData); // ['hello', 'world', 'good']

语法解析

// 传统函数写法
numbers.map(function(num) {return num * num;
})// 箭头函数写法  (复杂函数体需要大括号和 return)
numbers.map((num )=> {  return   num * num;
})//当函数体只有单个表达式时: 可以省略大括号 {} 
//该表达式的结果会自动作为返回值(不需要 return 关键字)
numbers.map((num) => num * num)//当只有一个参数时,可以省略括号 ()
numbers.map(num => num * num)
http://www.lryc.cn/news/2393004.html

相关文章:

  • leetcode2221. 数组的三角和-medium
  • Express教程【001】:Express创建基本的Web服务器
  • asio之async_result
  • 代码随想录算法训练营 Day60 图论Ⅹ Bellmen_ford 系列算法
  • 独立机构软件第三方检测:流程、需求分析及电商软件检验要点?
  • Java构建Tree并实现节点名称模糊查询
  • shadcn/ui
  • 华为FreeArc能和其他华为产品共用充电线吗?
  • [网页五子棋][匹配模式]创建房间类、房间管理器、验证匹配功能,匹配模式小结
  • 实验设计与分析(第6版,Montgomery)第3章单因子实验:方差分析3.11思考题3.7 R语言解题
  • 【知识点】第2章:Python程序实例解析
  • 从解决一个分享图片生成的历史bug出发,详解LayoutInflater和View.post的工作原理
  • Ubuntu 22.04 上使用 Docker 安装 RagFlow
  • 每日Prompt:指尖做画
  • Python打卡训练营day40——2025.05.30
  • Java八股-数据类型转换有哪些?类型互转会有什么问题?为什么用bigDecimal 不用double ?自动装箱和拆箱?包装类?
  • redis未授权(CVE-2022-0543)
  • 【运维实战】Linux 中su和sudo之间的区别以及如何配置sudo!
  • LevelDB、BoltDB 和 RocksDB区块链应用比较
  • c/c++的opencv图像金字塔缩放
  • PDF文件转换之输出指定页到新的 PDF 文件
  • 浏览器之禁止打开控制台【F12】
  • 进阶智能体实战九、图文需求分析助手(ChatGpt多模态版)(帮你生成 模块划分+页面+表设计、状态机、工作流、ER模型)
  • GEARS以及与基础模型结合
  • SFINAE(替换并不是错误)机制详解详解
  • 怎么用外网打开内网的网址?如在异地在家连接访问公司局域网办公网站
  • 计算机网络 | 1.1 计算机网络概述思维导图
  • AI对软件工程的影响及未来发展路径分析报告
  • redis缓存与数据库协调读写机制设计
  • 最悉心的指导教程——阿里云创建ECS实例教程+Vue+Django前后端的服务器部署(通过宝塔面板)