私の「アルゴリズム」は全く役に立たないと知っていますが、私は非常に奇妙な動作に遭遇したと思います。文字列マッチングアルゴリズムで奇妙な動作がある
findMatching(["jokes"、 "jokeg"]、 "jokes");ジョークを返します。しかし、findMatching(["ジョーク"、 "ジョーク"、 "ジョーク"]、 "ジョーク");ジョークとジョークを返します!ジョークを個別にテストすると、マッチしません。ここ
は私のコードである:
for (var p in dataArray) {
if (dataArray[p].length != matching.length) {
dataArray.splice(p,1);
}
}
for (var k = 0; k < matching.length; k++) {
for (var i in dataArray) {
if (dataArray[i].split('')[k] != matching.split('')[k]) {
dataArray.splice(i,1);
}
}
}
if(dataArray.length == 0){
return null;
} else {
return dataArray;
}