【发布时间】:2021-10-11 02:42:58
【问题描述】:
我正在开发一个已经创建的 NodeJS 和 Typescript 项目,并且有一个功能我不太了解它是如何工作的,我不相信它做得很好。
该函数负责比较两个对象并提取仅在第一个对象中找到的信息,虽然我真的不知道如何。
函数的所有逻辑都在 return 内部,我想知道如何将其取出并以更易于理解的方式进行。
这是函数:
public async objectComparer(fstArr: any, secArr: any) {
try {
return Promise.resolve( (current: any) => {
return (
fstArr.filter((secArr: any) => {
return secArr.fileName == current.fileName;
}).length == 0
);
});
} catch (error) {
return Promise.reject(error);
}
}
我递给他两个东西:
let obj1 = [
{ codCountry: 'CO', fileName: 'CO_SER.txt' },
{ codCountry: 'CO', fileName: 'CO_TES.txt' } ];
let obj2 = [
{ codCountry: 'CO', fileName: 'CO_SER.txt' },
{ codCountry: 'CO', fileName: 'CO_DAT.txt' } ];
我运行函数:
let onlyObj1 = obj1.filter(await this.objectComparer(obj2, obj1));
这就是它返回的内容:
let objReturn = [ { codCountry: 'CO', fileName: 'CO_TEST.csv' } ];
【问题讨论】:
标签: node.js arrays typescript filter