Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 组合时如何知道哪些项来自哪个数组_Javascript_Angular_Typescript - Fatal编程技术网

Javascript 组合时如何知道哪些项来自哪个数组

Javascript 组合时如何知道哪些项来自哪个数组,javascript,angular,typescript,Javascript,Angular,Typescript,如果我有两个数组并将它们组合起来,我想知道每个数组中最初包含哪些项。例如,我有两个数组: primaryTypes = [ new PrimaryType(43), new PrimaryType(86), new PrimaryType(12), ]; secondaryTypes = [ new SecondaryType(58), new SecondaryType(8), new SecondaryType(98), ]; 我将这两个阵列组合如下: let resultsArray:

如果我有两个数组并将它们组合起来,我想知道每个数组中最初包含哪些项。例如,我有两个数组:

primaryTypes = [
new PrimaryType(43),
new PrimaryType(86),
new PrimaryType(12),
];

secondaryTypes = [
new SecondaryType(58),
new SecondaryType(8),
new SecondaryType(98),
];
我将这两个阵列组合如下:

let resultsArray: any[] = [];
resultsArray = this.primarytypes.concat(this.secondarytypes);

如果我正在迭代resultsArray并希望获得primaryTypes数组中最初的金额总和,我如何确定primaryTypes数组中最初的项目并仅将这些项目相加?

使用
instanceof
操作符。像这样:

resultsArray.forEach(item => {
    if (item instanceof PrimaryType) {
        //...
    }

    if (item instanceof SecondaryType) {
        //...
    }
});

有什么理由不能在合并两个数组之前简单地添加
primaryTypes
中的值吗?这是一个很好的观点。我仍然想知道是否有办法检查哪些项目最初来自每个数组。也许操作员会做你需要的。这就是我需要的。谢谢你的帮助。这正是我所需要的。很高兴能帮助你:)