我有两个数组我想在下面的格式数据来比较两个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