【发布时间】:2019-04-30 23:25:36
【问题描述】:
我需要数组中的 javascript/typescript 哈希映射中的键。我使用 Map.Keys() 方法,并迭代键以填充名为:searchTerms 的数组。出于某种原因,数组中的最后一个值始终是一个空字符串。
当我在调试器中查看 hashMap 时,我看到的正是我所期望的;字符串类型的键和字符串数组的值,没有空键。
public setSearchTerms(searchMap: Map<string, Array<string>>) {
if(searchMap && searchMap.size) {
let myKeys = myMap.keys();
this.searchTerms = [...myKeys];
/*
for(let k of myKeys) {
if(k.length > 0) {
this.searchTerms.push(k);
}
}
*/
}
}
当我按原样运行代码时,searchTerms 数组包含地图中的所有键,以及一个空字符串。使用 for-of 循环(当前注释掉)也会放入空字符串,但我放入了长度检查以解决问题。我只想了解空字符串的来源。我可以让它工作,但它让我烦恼的是我无法弄清楚空字符串的来源。
【问题讨论】:
-
我似乎无法重现这个,我觉得你的代码中还有其他东西干扰了这个
-
我必须同意@Aplet123
-
好的,很高兴知道这一点。我会再看看我的 hashMap。我使用来自 FileReader.readAsText() 的 csv 数据填充哈希图,因此可能在上游某处(可能是隐藏的 \n)。谢谢你们俩的关注。
标签: javascript typescript hashmap iteration