let big_coordinates_arr =[ [1,2],[3,4],[5,8],[7,9]] ;
let small_coordinates_arr=[ [3,4],[7,9] ] ;
let is_same = (arr1,arr2) => arr1.length == arr2.length && arr1.every(function(element, index) {
return element === arr2[index];
});
let result = big_coordinates_arr.filter(c1 => !small_coordinates_arr.some(c2 => is_same(c1,c2)))
console.log(result)
let big_coordinates_arr =[ [[1,2],[3,4]], [[3,4],[1,2]] , [[5,8],[7,9]] , [[7,1],[6,5]] , [3,6],[7,3] ] ;
let small_coordinates_arr=[ [[3,4],[1,2]] , [[7,1],[6,5]] ] ;
Expected output should be [ [[5,8],[7,9]] , [3,6],[7,3] ]
该代码段显示了从另一个坐标数组筛选坐标数组的输出。
我的问题是从一个片段数组中过滤另一个片段数组,在我的例子中,我有一个[[1,2],[3,4]]
,它代表一个片段(2个点),这意味着[[1,2],[3,4]]
和[[3,4],[1,2]]
可以假设是相同的,因为你可以互换这2个点,仍然形成相同的片段。
请问怎样才能达到预期的产量?
我真的会很感激我能得到的任何帮助:)
2条答案
按热度按时间wljmcqd81#
通过对数组及其所有嵌套数组进行排序,您将能够获得预期的输出,
ef1yzkbh2#
我已经做了多次测试,然后在我得到下面的响应.
希望你能得到答复。