es6 map 过滤id相同并删除数据
时间: 2023-08-03 19:06:14 浏览: 61
假设你有一个对象数组,每个对象都有一个唯一的 `id` 属性,你可以使用 `ES6` 的 `Map` 数据结构和 `filter()` 方法来过滤掉重复的 `id` 并删除相应的数据。具体的实现代码如下:
```javascript
const data = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Charlie' },
{ id: 1, name: 'David' },
{ id: 4, name: 'Emma' }
];
const filteredData = Array.from(new Map(data.map(item => [item.id, item])).values());
console.log(filteredData);
// Output: [{ id: 1, name: 'David' }, { id: 2, name: 'Bob' }, { id: 3, name: 'Charlie' }, { id: 4, name: 'Emma' }]
```
这里使用了 `Array.from()` 方法来转换 `Map` 对象为数组,然后使用 `values()` 方法来获取 `Map` 中的所有值。由于 `Map` 数据结构会自动过滤掉重复的键值,所以在转换为数组之前就已经过滤掉了相同的 `id` 数据。
相关问题
es6 map filter
ES6中的map和filter是数组的两个常用方法。
map方法是将原数组的每个元素通过回调函数映射成一个新的元素,最后返回一个新的数组。例如,通过map方法可以将一个数组中的每个数值项求平方。
filter方法是根据指定条件过滤原数组的元素,只保留满足条件的元素,并返回一个新的数组。例如,可以使用filter方法对一个数组进行去重操作,去除重复的元素。
以上就是ES6中map和filter方法的简单介绍。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [ES6 map()遍历、filter()筛选的使用](https://blog.csdn.net/Web_Notes/article/details/120287387)[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^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [es6 map()和filter()详解【转】](https://blog.csdn.net/xfxf996/article/details/103630437)[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^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
es6 map set
ES6中的Map是一种键值对的集合,类似于对象,但有一些不同之处。Map使用set()方法来添加或更新一个键值对。使用get()方法可以获取指定键的值。Map还具有其他与Set不同的方法,如clear()、has()、size和delete()。Map的声明方式有两种,一种是直接通过传入一个二维数组来初始化Map,另一种是通过forEach循环来逐个添加键值对。另外,Map还提供了keys()、values()和entries()方法来遍历Map中的键、值和键值对。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [ES6中的Map和Set详解](https://blog.csdn.net/m0_45093055/article/details/126430467)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)