2017-02-09 173 views
0

检查第一2个元件的元件的:比较两个阵列,其是在另一个阵列

checking first 2 element

检查接下来的2个元素:

checking next 2 element

我有这样的阵列中,需要比较各2个元件

var my_arr = [ 
      [0,1,2], 
      [0,2,1], 
      [1,0,2], 
      [1,2,0], 
      [2,0,1], 
      [2,1,0] 
     ]; 

我需要得到这个作为最终结果。脚本必须比较每个数组的每2个元素,并得到唯一的一个人

var new_arr = [ 
      [0,1,2], 
      [0,2,1], 
     ]; 
+1

请仔细阅读[问]。重要短语:“搜索和研究”和“解释......阻止你自己解决它的任何困难”。 –

+1

结果的逻辑是什么?你想从比较两个元素得到什么​​信息?您实际上没有解释问题或提供任何可以帮助我们的信息。请阅读[问]。 –

+0

有图片看着它,你可以理解的逻辑 – David

回答

0

你可以使用一个嵌套的方式与迭代与ij图形部分和部分测试与kl。如果找到两个元素,则阵列拼接。

var array = [[0, 1, 2], [0, 2, 1], [1, 0, 2], [1, 2, 0], [2, 0, 1], [2, 1, 0]], 
 
    i = 0, j, k, l; 
 

 
while (i < array.length) { 
 
    j = 0; 
 
    while (j + 1 < array[i].length) { 
 
     k = i + 1; 
 
     test: while (k < array.length) { 
 
      l = 0; 
 
      while (l + 1 < array[k].length) { 
 
       if (array[i][j] === array[k][l] && array[i][j + 1] === array[k][l + 1]) { 
 
        array.splice(k, 1); 
 
        continue test; 
 
       } 
 
       l++; 
 
      } 
 
      k++; 
 
     } 
 
     j++; 
 
    } 
 
    i++; 
 
} 
 

 
console.log(array);
.as-console-wrapper { max-height: 100% !important; top: 0; }

+1

非常感谢! – David