我有兩個數組我想在下面的格式數據來比較兩個JavaScript數組:比較包含多個值對
var order = [[1,"121"], [2,"111"], [2,"321"], [3,"232"], [3,"213"], [4,"211"]],
userBuilt = [[4,"111"], [1,"131"], [3,"321"], [3,"232"], [3,"211"], [3,"213"], [1, "X1X"]];
var exactMatches=[];
var incorrect=[];
我想要把含有字符串匹配到一個陣列稱爲雙exactMatches = []以及userBuilt數組中完全唯一的項,例如[1,「X1X」]和[1,「131」]到名爲incorrect = []的另一個數組。下面的代碼適用於推送匹配,但我無法弄清楚如何將唯一對推送到不正確的= []數組。
for (var i = 0; i < order.length; i++) {
for (var e = 0; e < userBuilt.length; e++) {
if(order[i][1] === userBuilt[e][1]){
exactMatches.push(userBuilt[i]);
}
}
}
在此先感謝!
你會認爲在你的例子中'[3,「321」]'是完全唯一的還是隻有「部分唯一的」 - 沒有結果數組? – Bergi 2015-03-30 21:33:27
@Bergi,那隻會是部分獨特的。 [3,「321」]會被推送到exactMatches。基本上,如果字符串部分的順序和userBuilt,那麼他們會被推送到exactMatches。如果沒有,那麼他們會去不正確的數組。 – 2015-03-30 22:18:17
不知道爲什麼我得到了一個投票,這是一個合法的問題,但它很酷,我能夠讓我的功能工作。 – 2015-03-31 16:03:35