【发布时间】:2021-02-24 10:40:32
【问题描述】:
我有一个对象数组Course。
export interface Course {
id: string;
student: User[];
color: string;
}
export interface User {
id: string;
name: string;
//...
}
如果他里面的学生数组包含特定的id,我需要删除Course数组的所有元素
我试图做类似的事情,但我不明白我应该在过滤器部分做什么。
const deleteCourseWhereImIn = (courses: Course[]) => {
const myid = "1111"
return courses.filter((item):Course =>
//[...]
)
};
示例:
输入:
const courses = [
{
id : "JSLKLDK",
student: [
{
id: "1111",
name: "John"
},
{
id: "2222",
name: "Ronald"
},
{
id: "3333",
name: "Tim"
},
],
color: "#f01000",
},
{
id : "5JLDKLD",
student: [
{
id: "2222",
name: "Ronald"
},
{
id: "1111",
name: "John"
},
],
color: "#511131",
},
{
id : "PDLFMLZ",
student: [
{
id: "2222",
name: "Ronald"
},
],
color: "#ffffff",
},
]
我的 ID 是1111
输出应该是:
const courses = [
{
id : "PDLFMLZ",
student: [
{
id: "2222",
name: "Ronald"
},
],
color: "#ffffff",
},
]
因为我是 john,我不在这门课程中。
【问题讨论】:
标签: javascript arrays ecmascript-6 filter