Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按特异性排列IP阵列_Javascript_Arrays_Sorting - Fatal编程技术网

Javascript 按特异性排列IP阵列

Javascript 按特异性排列IP阵列,javascript,arrays,sorting,Javascript,Arrays,Sorting,我有一个IP子网阵列,并希望按子网特性重新排列阵列 例如,我有以下数组: var array = [['10.0.0.0/8', 'test1'], ['10.155.220.0/24', 'test2'], ['10.155.200.0/24', 'test3']]; 现在我想重新排列它,使其看起来像这样: var array = [['10.155.220.0/24', 'test2'], ['10.155.200.0/24', 'test3'], ['10.0.0.0/8', 'test

我有一个IP子网阵列,并希望按子网特性重新排列阵列

例如,我有以下数组:

var array = [['10.0.0.0/8', 'test1'], ['10.155.220.0/24', 'test2'], ['10.155.200.0/24', 'test3']];
现在我想重新排列它,使其看起来像这样:

var array = [['10.155.220.0/24', 'test2'], ['10.155.200.0/24', 'test3'], ['10.0.0.0/8', 'test1']];
基本上,10.155.220.0/24是比10.0.0.0/8更具体的子网。所以我想知道我是否可以按照特定性来安排它们,首先是更具体的子网。最终,如果这样的事情不可行,我可以通过查看/24和/8,从高到低排列它们


干杯

所以你可以写一个排序,检查数组第一个元素的长度,然后检查两个长度是否相同,检查两个比较元素是否相同,然后检查字符串并相应地排序

var arr=[ ['10.0.0.0/8','test1'], [10.155.220.0/24','test2'], ['10.155.200.0/24','test3'] ]; arr.sorta,b=>{ 返回a[0]。长度b[0]。长度?-1: a[0]==b[0]?a[1]。localeCompareb[1]?1:-1: 0; };
console.logarr 试着寻找JS Array.sort,你就会找到它,下面是一个我应该如何做的示例。我希望它能帮助你

让数组=['10.0.0.0/8','test1'],['10.155.220.0/24','test2'],['10.155.200.0/24','test3']; //使用Array.sort函数 console.logarray.sortcompareByMask console.logarray.SortComparebySpecity 函数compareByMaskitem1,item2{ //从item1和item2中获取第一个元素 设[full_ip1]=item1; 设[full_ip2]=item2; //拆分元素以获取“/”后面的内容 设mask1=full_ip1.split'/'[1] 设mask2=full_ip2.拆分“/”[1] //JS排序函数必须返回一个整数,在这里您可以选择执行以下操作 //如果mask1有一个计算值的函数,以便在排序函数中进行比较

风险值数据=[ [10.0.0.0/8,测试1], [10.155.220.0/24,测试2], [10.155.200.0/24,测试3] ]; 常量值=ip=>{ 常数[addr,sub]=ip.split/; 返回地址 分裂 .还原灯acc,curr=>acc*10+Numbercurr,Numbersub; }; data.sort[a],[b]=>valueb-valuea; 控制台日志数据;