es6获取数组对象里面的所有id
时间: 2023-06-04 10:06:38 浏览: 770
可以使用map方法获取数组对象中所有id。例如,如果数组对象为array,可以使用以下代码获取所有id:
const ids = array.map(obj => obj.id);
这将返回一个包含所有id的新数组。
相关问题
js如何用es6的方法查找数组[ { id:1, name:'cui' } ]中id为1的对象并返回true或者false
可以使用`Array.prototype.some()`方法来查找数组中是否存在满足指定条件的元素。具体做法是,在`some()`方法中传入一个回调函数,该回调函数接收一个元素作为参数,返回一个布尔值,表示该元素是否满足指定条件。回调函数中可以使用对象解构来获取元素的`id`属性,并与指定的值进行比较。代码示例如下:
```javascript
const arr = [{id: 1, name: 'cui'}];
const hasIdOne = arr.some(({id}) => id === 1);
console.log(hasIdOne); // true
```
上述代码中,`some()`方法返回一个布尔值,表示数组中是否存在满足条件的元素。`({id}) => id === 1`是一个箭头函数,它使用对象解构来获取元素的`id`属性,并与指定的值进行比较。如果某个元素的`id`属性等于1,则该元素满足条件,返回`true`,`some()`方法会立即停止遍历,返回结果为`true`。如果数组中没有满足条件的元素,则返回`false`。
es6 map 过滤id相同并删除数据
假设你有一个对象数组,每个对象都有一个唯一的 `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` 数据。