Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.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_Arrays_Fingerprinting - Fatal编程技术网

Javascript 如何";模糊的;阵列指纹

Javascript 如何";模糊的;阵列指纹,javascript,arrays,fingerprinting,Javascript,Arrays,Fingerprinting,对于我当前的项目,我需要找到一种“模糊”的方法,即在客户端对javascript数组进行指纹识别 问题是数组中的元素可能会随时间而变化。我所说的变更是指订单是稳定的,但一些元素可能会被删除,而其他元素可能会被包括在内。现在我需要找到一种方法来产生完全相同的指纹(在给定的阈值内) 我目前正在考虑一种部分匹配实现,但我很好奇其他人会怎么做 您可以将数组包装到对象中,并向该对象添加修改计数器。在每次修改数组时,必须增加修改计数器。 通过定义用于修改数组的treshold,您可以做出决策 var fuz

对于我当前的项目,我需要找到一种“模糊”的方法,即在客户端对javascript数组进行指纹识别

问题是数组中的元素可能会随时间而变化。我所说的变更是指订单是稳定的,但一些元素可能会被删除,而其他元素可能会被包括在内。现在我需要找到一种方法来产生完全相同的指纹(在给定的阈值内)


我目前正在考虑一种部分匹配实现,但我很好奇其他人会怎么做

您可以将数组包装到对象中,并向该对象添加修改计数器。在每次修改数组时,必须增加修改计数器。 通过定义用于修改数组的treshold,您可以做出决策

var fuzzyArray = {
                   data : [],
                   modCount : 0,
                   changeElement : function (elementId, newData){
                                      data[elementid] = newData;
                                      modCount++;
                                   }
               };

 //adding some elements...

 fuzzyArray.changeElement(1,"foo");
 if (fuzzyArray.modCount > treshold){
     // do something
 }

这取决于你对“模糊”的定义

Filype的建议会给你一个高度特异的指纹。没什么模糊的

一种解决方案是查看测试用例和参考数据集的JSON表示之间的levenstein差异(将分数除以参考集的长度以获得一个比例)。谷歌很快就找到了


或者,您可以简单地对

进行计数,因为这是一个概念性的问题,它似乎更适合您。您可以举一个例子,说明您的阵列在某些点上的外观以及在这些阶段希望创建的指纹类型吗?