JavaScript中的兼容性测试仪(字符串比较函数)

JavaScript中的兼容性测试仪(字符串比较函数),javascript,string,Javascript,String,所以我的女朋友和她的姐妹们在玩这个iPhone应用程序,你可以输入两个名字,它会返回一个%的兼容性匹配。我也开始玩它(毫不羞耻),并试图弄清楚它是如何工作的。如果比较两个精确的字符串,例如“John Doe”和“John Doe”,它将返回某种随机兼容性,但每次都会返回相同的兼容性。所以这不是真正的“随机” 有没有人知道如何让函数在JavaScript中实现同样的功能?下面是我的shell函数: function getCompatibility(name1, name2) { // L

所以我的女朋友和她的姐妹们在玩这个iPhone应用程序,你可以输入两个名字,它会返回一个%的兼容性匹配。我也开始玩它(毫不羞耻),并试图弄清楚它是如何工作的。如果比较两个精确的字符串,例如“John Doe”和“John Doe”,它将返回某种随机兼容性,但每次都会返回相同的兼容性。所以这不是真正的“随机”

有没有人知道如何让函数在JavaScript中实现同样的功能?下面是我的shell函数:

 function getCompatibility(name1, name2) {
   // Lower case name1 and name2 and remove spaces
   name1 = name1.replace(' ', '').toLowerCase();
   name2 = name2.replace(' ', '').toLowerCase();

   // Do some type of comparison to get a value between 0 and 100 back
   // HELP ME HERE =]
 }

 getCompatibility('John Doe', 'John Doe'); // outputs 60% (or something)
 getCompatibility('John Doe', 'John Doe'); // outputs 60% (same as above)
 getCompatibility('John Resig', 'Angelina Jolie'); // outputs 90% (or something)

听起来不是很有趣。我更喜欢Toby Segaran的“编程集体智能”第9章:“高级分类:核方法和SVM”。它使用matchmaker数据库向您展示如何根据不同的特征进行匹配。我想这会更有趣


您的建议可能只是在随机数生成器生成的关联数组中查找一个百分比。

您可以根据字符串计算一个数字(例如,添加每个字符的ASCII值),然后将其种子添加到随机数生成器中。这样,当字符串不变时,它将输出相同的结果


编辑:要在javascript中执行此操作,请查看。

您能否解释将其植入随机数生成器的过程?伪随机数生成器以某种确定的方式工作,并且通常有一个“种子”函数(在php中是),因此,如果您将某个数字植入其中,则生成的序列从那时起,“随机”数将始终保持不变。JS没有这个功能,因此解决方案是实际实现一个伪随机数生成器。我不太了解伪随机数生成器的实际细节,但有现成的函数可以复制和粘贴。