arrays - 如何制作用于过滤阵列的角管
问题描述
这是我要过滤的数组
[
0: {id: 1, name: "Berlin",}
1: {id: 2, name: "Proffesor",}
2: {id: 4, name: "Oslo",}
3: {id: 6, name: "Denver",}
]
这是过滤器的数组
[6, 16, 2, 10, 24]
这是我的管道
export class ChatPipe implements PipeTransform {
transform(user: Users[], args: any): any { //for users i use first array and for args I use second
if (!user || !args) {
return user;
}
let filteri = user.filter(users => users.id == args);
return filteri;
};
}
我想使用另一个数组的值过滤第一个数组。谁能帮我?
解决方案
改变这个:
// let filteri = user.filter(users => users.id == args);
// return filteri;
return (user || []).filter((item: any) => (args || []).includes(item.id));
推荐阅读
- java - 如何在 JFrame 中组合图像?
- node.js - JavaScript堆内存不足-nodejs和邮递员
- mysql - 如何在 mac book 中启用 mysql 二进制日志记录
- neo4j - 聚合后计算
- python - ValueError: 找到包含 0 个样本的数组 (shape=(0, 35)),而 StandardScaler 至少需要 1
- javascript - 语法错误 HtmlService.createTemplateFromFile().evaluate().getContent();
- c# - post 方法是否可以在继续使用该方法之前向用户返回确认框?
- vue.js - 在 Nuxt 中间件中获取请求的页面路由
- python - 绘制直方图未正确呈现数据
- bash - Bash 中的十六进制转十进制