【Lodash】 Filter 与Map 的结合使用

用Filter过滤数据之后,想给某个字段重新赋值

在使用 `filter()` 方法过滤数据后,如果你想给某个字段赋值,你可以使用 `map()` 方法来修改数组中的元素。`map()` 方法可以对数组中的每个元素应用一个函数,并返回一个新的数组。

以下是一个示例代码,演示了如何在过滤数据后给某个字段赋值:

javascript 复制代码
const items = [

  { id: 1, name: 'Apple', price: 1.5 },

  { id: 2, name: 'Orange', price: 2.0 },

  { id: 3, name: 'Banana', price: 1.0 },

  { id: 4, name: 'Grapes', price: 2.5 },

];



const filteredItems = items

  .filter(item => item.price > 1.5) // 过滤价格大于 1.5 的项目

  .map(item => ({ ...item, discounted: true })); // 给过滤后的项目添加一个字段 "discounted"



console.log(filteredItems);

上述代码会在过滤数据后,给符合条件的项目添加一个名为 "discounted" 的字段,并将其值设置为 `true`。最终输出的 `filteredItems` 数组将包含符合过滤条件的项目,并且每个项目都会具有新添加的 "discounted" 字段。需要注意的是,这里使用了对象扩展操作符 `{ ...item }` 来克隆原始项目对象,以便修改其属性。

相关推荐
catchadmin5 分钟前
成为高级 PHP 开发者需要的思维转变
开发语言·php
请告诉他6 分钟前
从 Struts2 单体到 Spring Cloud 微服务:一个 P2P 系统的真实重构之路(2019 年实战复盘)
java·开发语言
cypking7 分钟前
三、NestJS 开发实战文档-->集成 MySQL(TypeORM)
前端·数据库·mysql·adb·node.js
dreams_dream7 分钟前
Element UI菜单折叠后的el-menu-item属性无法修改问题解决
前端·vue
duanyuehuan8 分钟前
vueRouter重置路由
前端·javascript·vue.js
雾岛听蓝9 分钟前
C++ string 类解析
开发语言·c++
这周也會开心9 分钟前
Java面试题2-集合+数据结构
java·开发语言·数据结构
十五年专注C++开发13 分钟前
QProcess在Windows下不能正常启动exe的原因分析
开发语言·c++·windows·qprocess·createprocess
无限进步_14 分钟前
C++多态全面解析:从概念到实现
开发语言·jvm·c++·ide·git·github·visual studio
.似水15 分钟前
Python面向对象
开发语言·python