【发布时间】:2019-01-28 22:23:43
【问题描述】:
我有一个array,里面有多个objects。
它的结构是这样的:
const Instructor = [
{ ID: '141',
InstructorNameAR: 'test',
InstructorNameEN: 'Mohamed Ahmed',
InstructorBriefAR: 'phd in chemistry',
InstructorBriefEN: 'phd in chemistry' },
{ ID: '140',
InstructorNameAR: 'test',
InstructorNameEN: 'Mahmoud Ahmed',
InstructorBriefAR: 'phd in chemistry',
InstructorBriefEN: 'phd in chemistry' },
]
我想添加其他 objects,但根据它们的 ID 值过滤了重复项。
objects 的示例我想添加:-
const InstructorInstance = {
ID: 'ID',
InstructorNameAR: 'NAMEAR',
InstructorNameEN: 'NAMEEN',
InstructorBriefAR: 'BRIEFAR',
InstructorBriefEN : 'BRIEFEN'
}
我用这个方法过滤ID。
但它不起作用,因为它仅将array 的single 值与我提供的值进行比较。这意味着它可能是一个duplicated object,但仍然会被添加,因为它没有检查它是否存在于每个array element中
Instructor.forEach(instance =>{
if(instance.ID !== InstructorInstance.ID){
Instructor.push(InstructorInstance);
}else{
console.log('Duplicate')
}
})
【问题讨论】:
-
那么您心中的理想比较方式是什么?检查所有字段(区分大小写/不区分大小写)?如果是这样,为什么不简单地添加支票?
标签: javascript arrays object javascript-objects