我想通過找出哪個元素被移動來找出兩個數組之間的區別。我知道一個元素會被移動,並且該訂單將保留在列表的其餘部分,但我無法弄清楚如何找到它。如何確定哪個元素在數組中移動?
實施例:
答:1 2 3 4 5 6
B:2 3 4 5 1 6
所有元素的存在在這兩個列表中,但如何做我發現元素1從索引0移動到索引4?
我,我花了,但不工作的基本做法是:
//Original array
var a = [1, 2, 3, 4, 5, 6];
//New array
var b = [2, 3, 4, 5, 1, 6];
for(var i=0; i < a.length; i++) {
if(a[i] != b[i] && a[i+1] != b[i]) {
console.log(b[i] + " moved");
}
}
我已經通過代碼固定打印出B [I]而不是[I],但它不是在所有情況下工作如:
答:1,2,3,4
B:1,4,2,3
定義「不工作」。它如何失敗?我看起來很好。 –
@JanDvorak該代碼告訴我,5移動,當答案應該是1. – Flipper
@Smash ...你想說什麼? –