使用javascript从多维数组中删除反向值

使用javascript从多维数组中删除反向值,javascript,Javascript,我正在创建一个多维数组来绘制sankey图表。但它不支持循环值。所以我想删除一个数组,如果它的顺序相反。例如: 如果我有一个名为 var myArray = [['aaa','20'],['bbb','30'],['ccc','40'],['30','bbb']] 我想得到如下结果: var myArray = [['aaa','20'],['bbb','30'],['ccc','40']] 您可以通过检查数组的前置项进行筛选 var数组=['aaa'、'20']、['bbb'、'30'

我正在创建一个多维数组来绘制sankey图表。但它不支持循环值。所以我想删除一个数组,如果它的顺序相反。例如: 如果我有一个名为

var myArray = [['aaa','20'],['bbb','30'],['ccc','40'],['30','bbb']] 
我想得到如下结果:

var myArray = [['aaa','20'],['bbb','30'],['ccc','40']]

您可以通过检查数组的前置项进行筛选

var数组=['aaa'、'20']、['bbb'、'30']、['ccc'、'40']、['30'、'bbb'],
结果=数组.过滤器(函数(a,i,aa){
返回aa.slice(0,i).every(函数(b){
返回a[0]!==b[1]| a[1]!==b[0];
});
});
控制台日志(结果)

。作为控制台包装器{max height:100%!important;top:0;}
假设您希望第一个值是字符串,第二个值是整数,您可以通过检查确保第一个值不是整数来轻松筛选出“向后”数组:

function removeBackwardsArrays(values) {
    return !parseInt(values[0]);
}

var values = [['aaa','20'],['bbb','30'],['ccc','40'],['30','bbb']];

console.log(values.filter(removeBackwardsArrays));

可以根据您认为合适的任何条件随意操作过滤器。

如果我的数组中有三个值,我如何修改代码;[“M”,“A”,1],“B”,“G”,1],“A”,“M”,1],“B”,“C”,1]这些项目可以按任何顺序排列吗?