Node.js 尝试实现节点js multimap时出现问题

Node.js 尝试实现节点js multimap时出现问题,node.js,multimap,Node.js,Multimap,我正在尝试使用多重映射,因为同一个键可能有不同的值。然而,当键值对已经存在于Multimap中时,我不想进入它。 但不幸的是,当我使用MultiMap时,它正在为MultiMap中的同一个键值对创建新条目。如果我遗漏了什么,请告诉我??下面给出了代码片段- //declared MultiMap - var Multimap = require('multimap'); var mmap = new Multimap(); //在控制台上运行命令以将multimap包括到项目: npm ins

我正在尝试使用多重映射,因为同一个键可能有不同的值。然而,当键值对已经存在于Multimap中时,我不想进入它。 但不幸的是,当我使用MultiMap时,它正在为MultiMap中的同一个键值对创建新条目。如果我遗漏了什么,请告诉我??下面给出了代码片段-

//declared MultiMap -
var Multimap = require('multimap');
var mmap = new Multimap();
//在控制台上运行命令以将multimap包括到项目:

npm install multimap --save
//使用集合方法将数据推送到多重映射

mmap.set(path, columns[1]['value']);
//检查多重贴图的大小

mmap.length
//在multimap中打印每个条目

mmap.forEachEntry(function (entry, key) {
console.log(key + "----" + entry);
});
product_tree,SBG,QuickBooks,39.0,R2----R2
product_tree,SBG,QuickBooks,39.0,R1----R1
product_tree,SBG,QuickBooks,28.0----28.0,28.0,28.0,28.0,28.0,28.0,28.0
product_tree,SBG,QuickBooks,28.0,R1----R1,R1
product_tree,SBG,QuickBooks,28.0,R7----R7
product_tree,SBG,QuickBooks,28.0,R6----R6
product_tree,SBG,QuickBooks,28.0,R5----R5
product_tree,SBG,QuickBooks,28.0,R4----R4
product_tree,SBG,QuickBooks,28.0,R3----R3
product_tree,SBG,QuickBooks,27.0----27.0,27.0,27.0,27.0,27.0,27.0,27.0,27.0,27.0,27.0
product_tree,SBG,QuickBooks,27.0,R1----R1,R1
if(!mmap.has(path, columns[1]['value']){
   mmap.set(path, columns[1]['value']);
}
//键的输出----多重映射中的值

mmap.forEachEntry(function (entry, key) {
console.log(key + "----" + entry);
});
product_tree,SBG,QuickBooks,39.0,R2----R2
product_tree,SBG,QuickBooks,39.0,R1----R1
product_tree,SBG,QuickBooks,28.0----28.0,28.0,28.0,28.0,28.0,28.0,28.0
product_tree,SBG,QuickBooks,28.0,R1----R1,R1
product_tree,SBG,QuickBooks,28.0,R7----R7
product_tree,SBG,QuickBooks,28.0,R6----R6
product_tree,SBG,QuickBooks,28.0,R5----R5
product_tree,SBG,QuickBooks,28.0,R4----R4
product_tree,SBG,QuickBooks,28.0,R3----R3
product_tree,SBG,QuickBooks,27.0----27.0,27.0,27.0,27.0,27.0,27.0,27.0,27.0,27.0,27.0
product_tree,SBG,QuickBooks,27.0,R1----R1,R1
if(!mmap.has(path, columns[1]['value']){
   mmap.set(path, columns[1]['value']);
}
//键值的预期输出

如果我能得到关于我在哪里犯错的指示,我将不胜感激


提前感谢。

您可以设置条件来检查multimap中是否已经存在键值对

mmap.forEachEntry(function (entry, key) {
console.log(key + "----" + entry);
});
product_tree,SBG,QuickBooks,39.0,R2----R2
product_tree,SBG,QuickBooks,39.0,R1----R1
product_tree,SBG,QuickBooks,28.0----28.0,28.0,28.0,28.0,28.0,28.0,28.0
product_tree,SBG,QuickBooks,28.0,R1----R1,R1
product_tree,SBG,QuickBooks,28.0,R7----R7
product_tree,SBG,QuickBooks,28.0,R6----R6
product_tree,SBG,QuickBooks,28.0,R5----R5
product_tree,SBG,QuickBooks,28.0,R4----R4
product_tree,SBG,QuickBooks,28.0,R3----R3
product_tree,SBG,QuickBooks,27.0----27.0,27.0,27.0,27.0,27.0,27.0,27.0,27.0,27.0,27.0
product_tree,SBG,QuickBooks,27.0,R1----R1,R1
if(!mmap.has(path, columns[1]['value']){
   mmap.set(path, columns[1]['value']);
}

谢谢你的及时回复。这肯定会解决具有相同数据的多个条目的问题。然而,我的印象是,理想情况下,multimap不应该允许这些条目。但它在NodeJS中似乎不是标准的。