用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 }` 来克隆原始项目对象,以便修改其属性。