在Javascript中的数组排序函数中创建自定义数组

Gar*_*hby 1 javascript arrays sorting

我需要在SortIP函数中放入什么来使自定义排序函数按IP号的最后一位对数组进行排序.这不起作用.

function SortIP(a, b)
{
    return a[0][3] - b[0][3];
}

LAN = new Array
(
    ["ADSL Router", [192, 168, 0, 1]],
    ["Gary's Mac", [192, 168, 0, 15]],
    ["Network Switch", [192, 168, 0, 2]],
    ["Production Email", [192, 168, 0, 60]]
);
LAN.sort(SortIP);
Run Code Online (Sandbox Code Playgroud)

预期的数组顺序:

  1. ADSL路由器:192.168.0.1
  2. 网络交换机:192.168.0.2
  3. 加里的Mac:192.168.0.15
  4. 制作电子邮件:192.168.0.60

Gum*_*mbo 6

你在比较错误的数值.试试这个:

function SortIP(a, b) {
    return a[1][3] - b[1][3];
}
Run Code Online (Sandbox Code Playgroud)


Ken*_*ozi 6

你快到了

只是替换

return a[0][3] - b[0][3];

return a[1][3] - b[1][3];

你完成了

为什么?因为IP是每个数组的第二个(Index = 1)单元格.