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

时间:2017-03-26 04:46:17

标签: 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: any[] = [];
resultsArray = this.primarytypes.concat(this.secondarytypes);

如果我正在迭代resultsArray并希望获得最初在primaryTypes数组中的金额总和,我如何确定哪些项最初是在primaryTypes中并且只将这些项添加到一起?

1 个答案:

答案 0 :(得分:1)

使用instanceof运算符。像这样:

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

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