typescript键值对通过list string筛选出数据
时间: 2024-10-08 13:06:14 浏览: 22
缓存:带有ttl的Typescript键值对缓存
在 TypeScript 中,如果你有一个键值对数组(通常表示为 `Map` 或者普通的 JavaScript 对象数组),并且你想根据某个 key 的字符串列表来筛选数据,你可以按照下面的方式来操作:
1. **使用 Map 和 filter() 函数**:
```typescript
const keyValuePairs = new Map<string, any>();
const allowedKeys = ['key1', 'key2']; // 想要筛选的 key 列表
// 筛选满足条件的对象
const filteredData = Array.from(keyValuePairs.entries())
.filter(([k, v]) => allowedKeys.includes(k));
```
2. **对于普通对象数组:**
```typescript
const dataObjects: { [key: string]: any }[] = [];
const allowedKeys = ['prop1', 'prop2'];
// 使用 Array.prototype.filter() 和 Array.prototype.find()
const filteredData = dataObjects.filter(obj =>
allowedKeys.some(key => obj.hasOwnProperty(key))
);
```
这里假设每个元素都有一个包含在 `allowedKeys` 中的 key。`filter()` 函数会返回一个新的数组,其中只包含那些 keys 匹配列表中的对象。
阅读全文