【发布时间】:2016-07-01 20:15:51
【问题描述】:
我有两个数组,可以是整数数组、字符串数组甚至是对象数组,出于演示目的,我将使用整数数组。
array1: array2:
0 99
1 1
101 5
2 100
100 97
5 101
4 4
我想让一个函数返回包含两个数组之间差异的所有信息。 结果是:
0 -- {match:false,leftIndex:0 }
-- 99 {match:false: rightIndex:0}
1 1 {match:true: leftIndex:1,rightIndex:1}
-- 5 {match:false: rightIndex:2}
-- 100 {match:false: rightIndex:3}
-- 97 {match:false: rightIndex:4}
101 101 {match:false:leftIndex:2,rightIndex:5}
2 -- {match:false:leftIndex:3 }
100 -- {match:false:leftIndex:4 }
5 -- {match:false:leftIndex:5 }
4 4 {match:false:leftIndex:6,rightIndex:6}
解决此问题的最佳方法是什么? 我打算使用这个函数来显示这两个数组的并排视图,使用 angularJS 指令方法。这行得通吗?
【问题讨论】:
-
Levenshtein 距离; en.wikipedia.org/wiki/Levenshtein_distance
-
Levenshtein 距离确实是正确的方向。找不到现成的 npm 包,但请查看执行此操作的淘汰源代码:github.com/knockout/knockout/blob/…
标签: javascript arrays angularjs angularjs-directive compare