使用解析的SQL值查找API数组中缺少的值



我对SQL和API还很陌生,所以如果问题很小,我很抱歉。。。

我刚刚学会了在我的SQL数据库中选择查询用户ID,我使用searchParam映射和解析该数据库以用作GET调用中的参数。

数据库中的所有值都是100%正确的,但API有时不会返回某些数组,我想知道缺少哪个数组。

我的SQL数据库解析值返回类似以下["10941","21707229","30827766","30918070","30924695","116669947"]的内容

网站的API GET数据数组结果看起来像这样的

[
{
id: '10941',
name: 'Susan Brown',
},
{
id: '21707229',
name: 'Bob White',
},
{
id: '30827766',
name: 'Michel Blue',
},
{
id: '30918070',
name: 'Marvin Grey',
},
{
id: '30924695',
name: 'Susan Red',
}
]

我要做的是返回我的API GET调用中缺少的116669947值。

非常感谢

您可以在数组上使用filter函数!

const database = ["10941","21707229","30827766","30918070","30924695","116669947"]
const api = [
{
id: '10941',
name: 'Susan Brown',
},
{
id: '21707229',
name: 'Bob White',
},
{
id: '30827766',
name: 'Michel Blue',
},
{
id: '30918070',
name: 'Marvin Grey',
},
{
id: '30924695',
name: 'Susan Red',
}
]
// Filter the database array, including only IDs that aren't found in the object
const notInAPI = database.filter(x => !api.find(y => x == y.id));
console.log(notInAPI);

最新更新