Javascript id为'时2个对象数组的差异;它们是不一样的

Javascript id为'时2个对象数组的差异;它们是不一样的,javascript,arrays,Javascript,Arrays,我有两个数组,arr1从数据库中检索,并且arr2作为请求主体发送。我试图获取两个数组之间的差异,但是我得到了一个错误,因为来自db的id不是字符串。如何在数组中字符串化id,以便正确过滤 arr1 = [ { id: 125ddgs34, name: ‘dgsgs’ }, { id: 356kfjj1235, name: ‘adhkdh’ }, { id: 87hjsgffjj, name: ‘fshjyy’ }, ] arr2 = [ { id: ‘125

我有两个数组,
arr1
从数据库中检索,并且
arr2
作为请求主体发送。我试图获取两个数组之间的差异,但是我得到了一个错误,因为来自db的
id
不是字符串。如何在数组中字符串化
id
,以便正确过滤

arr1 = [
   { id: 125ddgs34, name: ‘dgsgs’  }, 
   { id: 356kfjj1235, name: ‘adhkdh’  }, 
   { id: 87hjsgffjj, name: ‘fshjyy’  }, 
]

arr2 = [
  { id: ‘125ddgs34’, name: ‘dgsgs’  }, 
  { id: ‘356kfjj1235’, name: ‘adhkdh’  }, 
]

let difference = arr1.filter(x => !arr2.some(x2 => {
    console.log(x.id, "=========")
    console.log((x2.id, "======"))
}));

如果您正在使用“mongodb”,请尝试以下操作:

arr1 = [
   { id: ObjectId("507f1f77bcf86cd799439011"), name: ‘dgsgs’  }, 
   { id: ObjectId("507f1f77bcf86cd799439012"), name: ‘adhkdh’  }, 
   { id: ObjectId("507f1f77bcf86cd799439013"), name: ‘fshjyy’  }, 
]

arr1
是一个语法错误。你是怎么从数据库里查出来的?是的。这是来自mongo db@MarkMeyer
125ddgs34
的ObjectId,不是有效的javascript值。我想知道这是否有用@Hopez:@MarkMeyer非常有用。感谢如我的问题中所述从mongo检索数据。我需要自动将其设置为字符串