gpt4 book ai didi

javascript - typescript :Map.has 没有返回正确的值

转载 作者:行者123 更新时间:2023-11-30 21:03:33 25 4
gpt4 key购买 nike

我正在遍历 typescript 数组并将对象添加到 map 。键应该是唯一的,所以我用 Map.has 检查它们是否已经存在

但是,由于某种原因,它没有返回正确的值并添加了重复的键。请检查我的代码:

    for (const userAccount of res) {

// create key if doesn't exist
if (!this.sourceSystemsUserAccounts.has(userAccount.sourceSystem)) {
this.sourceSystemsUserAccounts.set(userAccount.sourceSystem, new Array<UserAccount>());
}

// add user account to map and set new array
const value: Array<UserAccount> = this.sourceSystemsUserAccounts.get(userAccount.sourceSystem);
value.push(userAccount);
this.sourceSystemsUserAccounts.set(userAccount.sourceSystem, value);
}

它们的键(源系统对象)如下所示:

export class SourceSystems implements BaseEntity {
constructor(
public id?: number,
public name?: string,
public identifier?: string,
public currencies?: Array<Currency>,
public lendingActivated?: boolean,
public walletApiActivated?: boolean,
) {
this.lendingActivated = false;
}
}

第三次迭代后,我的 map 如下所示: Map in Chrome debugger

有人知道我做错了什么吗?

更新:在这里您可以看到完整响应对象的预览: response object

最佳答案

你有一个类作为键 aka。 类源系统。该类的两个实例不相等。因此重复。

一个解决方案

为 map 使用字符串键。

关于javascript - typescript :Map.has 没有返回正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46873446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com